|
|
|
WORD: кто меня вызвал?
|
|||
|---|---|---|---|
|
#18+
Из различных приложений вызывается WORD (возможно, создается его объект). Как мне в WORD'е узнать - какое приложение его вызвало? Насколько я понимаю, вставить это надо в AutoOpen. А вот что вставить-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 13:50:18 |
|
||
|
WORD: кто меня вызвал?
|
|||
|---|---|---|---|
|
#18+
Да, забыл - WORD 2000. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 13:51:31 |
|
||
|
WORD: кто меня вызвал?
|
|||
|---|---|---|---|
|
#18+
В явном виде не знаю. Я бы использовал CustomDocumentProperties в приложении, а в ворде проверял бы его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 13:57:31 |
|
||
|
WORD: кто меня вызвал?
|
|||
|---|---|---|---|
|
#18+
big-dukeВ явном виде не знаю. Я бы использовал CustomDocumentProperties в приложении, а в ворде проверял бы его. big-duke, забыл добавить - приложения не мои, исходники не доступны. Поэтому и задача, собственно, возникла. Мне надо организовать постобработку результатов - а приложение позволяет только экспорт в ВОРД. Вот и хочу - если нормально вызвали, то ничего делать не надо. Если это из конкретного приложения - запускаю свою постобработку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 14:02:17 |
|
||
|
WORD: кто меня вызвал?
|
|||
|---|---|---|---|
|
#18+
Так если уже есть экспортированы данные, то проверьте их наличие в документе и обрабатывайте. А так ... ммм... не уверен, но все же - можно попробовать через API найти окно, процесс и попытаться опредлить - кто запустил этот процесс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 14:12:55 |
|
||
|
WORD: кто меня вызвал?
|
|||
|---|---|---|---|
|
#18+
big-dukeТак если уже есть экспортированы данные, то проверьте их наличие в документе и обрабатывайте. big-duke, попробую еще раз сформулировать задачу. Первый случай - ВОРД вызван приложением, после которого я должен запустить свои действия. Второй случай - открывается файл, допустим из Проводника двойным кликом, в котором ничего делать не надо. Третий случай - ВОРД вызывается другим приложением, которое просто экспортирует данные. Без всякой последующей обработки с моей стороны. Как мне эти три случая различить - из ВОРДА, именно из него? Понятно, можно заставить юзера запомнить данные, а потом вызвать макру моей обработки. Но хотелось бы исключить эту операцию - и возможные непонятки (перепутал файлы и т.д.) Т.е. если пришел в ВОРД из конкретного приложения - то сразу получи результат обработки, без дополнительных телодвижений. big-dukeА так ... ммм... не уверен, но все же - можно попробовать через API найти окно, процесс и попытаться опредлить - кто запустил этот процесс. Это на крайний случай... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 14:23:11 |
|
||
|
WORD: кто меня вызвал?
|
|||
|---|---|---|---|
|
#18+
Можно поиграться со свойством UserControl у Application. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 10:54:30 |
|
||
|
WORD: кто меня вызвал?
|
|||
|---|---|---|---|
|
#18+
HjlklkМожно поиграться со свойством UserControl у Application. Hjlklk, спасибо. Это позволило отличить программный запуск от "ручного". Т.е. половина задачи решена. Не теряю надежды решить и вторую половину - различить кто именно инициировал программный запуск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:28:56 |
|
||
|
WORD: кто меня вызвал?
|
|||
|---|---|---|---|
|
#18+
Для случая создания объекта WORD из разных приложений задачу решил. Если кому-то нужен код - могу выложить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 14:58:23 |
|
||
|
WORD: кто меня вызвал?
|
|||
|---|---|---|---|
|
#18+
Все оказалось очень просто. Идея базируется на том, что когда приложение создает новый вордовский объект (экспорт данных, в частности) - его (приложения) окно активно. Надо взять название активного окна - и проверить, есть ли там имя той программы, которая интересует. Сделать это надо в самом начале - т.е. в AutoNew. Код для VB MS Word: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. После этого флаг FromMyProg используем там где надо - если он установлен, то значит документ создан из приложения, которое нас интересует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 11:13:02 |
|
||
|
|

start [/forum/topic.php?fid=61&gotonew=1&tid=2182455]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
8ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 189ms |
| total: | 302ms |

| 0 / 0 |
