Страница: 1 |
Для работы с документом использую Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Open(gmsPath & gmsFileName) objWord.Visible = True Если документ уже открыт, то ищу его Hwnd и закрываю result = SendMessage(lHandler, WM_CLOSE, ByVal CLng(0), ByVal CLng(0)) , а затем открываю вновь вышеуказанным способом. То же самое происходит если в ходе работы приложения какой-нибудь пользователь невзначай закроет и вновь откроет этот документ. А вот можно ли найдя хэндлер документа, не закрывать его, а привязать к моему objDoc. Что-нибудь навроде Ну и дальше с ним работать (в моем случае добавлять строки в таблицу)
Открытый документ можно получить так: Set objDoc = objWord.Documents.Item(Index) Закрывать его не обязятельно. Если объявить 'WithEvents objDoc As Word.Document' то можно отслеживать когда он закроется. Таким же образом объявив objWord можно узнать, что пользователь открыл новый документ, или закрыл Word. OK, делаю Set objWord = CreateObject("Word.Application") Затем Set objDoc = objWord.Documents.Item(1) В результате ошибка "Нет документа с таким индексом". Смотрю objWord.documents.count равно 0. Как мне objWord к открытому Ворду привязать? Тогда я пошел другим путем. Если документ запущен, то Set objDoc = GetObject(gmsPath & gmsFileName) Даже objWord определять не приходится. Делаю необходимые изменения в документе, затем сохраняю. Про объявления с событиями спасибо, в текущей задаче не нужно, позже может пригодиться. А задача была такая, считать СМСку из телефона и записать в таблицу. Страница: 1 |
Вопрос: Как захватить документ Word
Добавлено: 13.10.03 10:07
Автор вопроса:
Malyav | Web-сайт:
objDoc = GetObject(Hwnd)
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа: USA
Вопросов: 1
Ответов: 184
Профиль | | #1
Добавлено: 14.10.03 08:15
Номер ответа: 2
Автор ответа: Malyav
ICQ: 8440085
Вопросов: 15
Ответов: 117
Web-сайт:
Профиль | | #2
Добавлено: 14.10.03 09:42