Автор | Сообщение |
|
| |
Пост N: 2
Зарегистрирован: 22.04.15
|
|
Отправлено: 22.04.15 20:48. Заголовок: шаблон Microsoft Word
Кто подскажет (и покажет) - требуется использовать шаблон Word (взаимодействие - подготовка, открытие, передача параметров и т.д.), то есть требуется подготовить определенный шаблон Word, передать параметры с программы, сохранить в формате docx в определенном месте или направить на печать.
|
|
|
Ответов - 103
, стр:
1
2
3
4
5
6
All
[только новые]
|
|
|
| Администратор
|
Пост N: 3511
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.12.16 09:45. Заголовок: Что-то не работает: ..
цитата: | Что-то не работает: nCount := oWord:Windows:Count ? nCount ? oWord:Windows(1):Caption |
| К элементу коллекции надо обращаться не через круглые скобки, это же не метод, а через квадратные, т.е: oWord:Windows[1] Свойство Caption объекта Window r/w, т.е ему можно присвоить что хочется, без головняка с получением хэндла окна: oWord:Windows[1]:Caption := "blabla.." дополню: с экселем заголовок окна можно также изменить стандартным способом. вот пример из хэлпа по vba: ActiveWorkbook.Windows(1).Caption = "Consolidated Balance Sheet"
|
|
|
|
| Администратор
|
Пост N: 3512
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.12.16 09:51. Заголовок: По поводу примеров р..
По поводу примеров работы с таблицами word из fw: в том разделе это не по теме, напишу здесь Андрей, я тебе дал пример заполнения таблицы. Если ты не хочешь использовать закладки, то надо только заменить начальное позиционирование на 1-й элемент таблицы вместо oSelect:Goto(-1, ... поставить <table>:Cells(nR, nC):Range:Select() и оставить последующий код без изменений
|
|
|
|
| постоянный участник
|
Пост N: 5214
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.12.16 12:57. Заголовок: Pasha пишет: Андрей..
Pasha пишет: цитата: | Андрей, я тебе дал пример заполнения таблицы. Если ты не хочешь использовать закладки, то надо только заменить начальное позиционирование на 1-й элемент таблицы |
| А я никак сделать его под себя не могу... Пошёл переделывать. Pasha пишет: цитата: | Свойство Caption объекта Window r/w, т.е ему можно присвоить что хочется, без головняка с получением хэндла окна: |
| Мне нужен хенд окна, для того чтобы переместить это окно поверх всех окон. Чтобы юзер не искал на рабочем столе созданный документ. С Экселем получилось, с Вордом нет !
|
|
|
|
| |
Пост N: 6173
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.12.16 13:53. Заголовок: Andrey пишет: С Экс..
Andrey пишет: цитата: | С Экселем получилось, с Вордом нет ! |
| Вероятно так Hwnd:=oWord:Windows[1]:hwnd
|
|
|
|
| постоянный участник
|
Пост N: 5215
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.12.16 13:57. Заголовок: Pasha получилось ! З..
Pasha получилось ! Заработало.... Спасибо огромное !
|
|
|
|
| постоянный участник
|
Пост N: 5216
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.12.16 14:00. Заголовок: Dima пишет: Вероятн..
Dima пишет: цитата: | Вероятно так Hwnd:=oWord:Windows[1]:hwnd |
| Ошибка: Error 3277332/0 S_OK: HWND Called from TOLEAUTO:HWND(0) Called from MYWORD2OLE(105)
|
|
|
|
| |
Пост N: 6174
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.12.16 14:21. Заголовок: Andrey А так Hwnd:=..
Andrey А так Hwnd:=oWord:Windows:hwnd
|
|
|
|
| Администратор
|
Пост N: 3514
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.12.16 14:37. Заголовок: Свойство hWnd присут..
Свойство hWnd присутствует у объекта Window, а не у коллекции Windows, что логично. По-видимому, в ранних версиях офиса его нет, поэтому и происходит ошибка.
|
|
|
|
| постоянный участник
|
Пост N: 5217
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.12.16 15:27. Заголовок: Pasha пишет: Свойст..
Dima пишет: Ошибка ! Pasha пишет: цитата: | Свойство hWnd присутствует у объекта Window, а не у коллекции Windows, что логично. По-видимому, в ранних версиях офиса его нет, поэтому и происходит ошибка. |
| А как правильно узнать хенл окна у современных версиях офиса ? Чтобы точно работало !
|
|
|
|
| Администратор
|
Пост N: 3515
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.12.16 15:34. Заголовок: В Office 2010 свойст..
В Office 2010 свойство hWnd у объекта Window еще отсутствует. В Office 2013, судя по доке, уже есть. А как узнать хендл - ну так и узнать, обратиться к свойству hWnd, если версия office выше, чем 2013
|
|
|
|
| Администратор
|
Пост N: 3516
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.12.16 15:41. Заголовок: Насчет hWnd так и е..
Насчет hWnd так и есть: Window.Hwnd Property (Word) Returns a Long that indicates the window handle of the specified window. Read-only. Collapse sectionVersion information Version Added: Word 2013 т.е, обращаться к нему можно, если oWord:Version больше чем значение (определенная константа) для office 2013
|
|
|
|
|
| постоянный участник
|
Пост N: 5219
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.12.16 15:43. Заголовок: Понял. Пока писал, у..
Понял. Пока писал, уже сделал. Word 2014 выдает правильно и по ошибке не слетает... hWnd := oWord:ActiveDocument:ActiveWindow:Hwnd Спасибо, понял в чем моя ошибка - искал там, где нет. У меня у юзеров еще 2003 офисы стоят...
|
|
|
|
| |
Пост N: 6175
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.12.16 15:59. Заголовок: Вообще не много стра..
Вообще не много странно. В Excel 2003 можно поймать хендл окна Excel по Excel:Hwnd а в той же версии Word уже нет.
|
|
|
|
| Администратор
|
Пост N: 3517
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.12.16 16:06. Заголовок: Странно и то, что в ..
Странно и то, что в Excel 2003 свойство hWnd есть у объекта Application, а не у Window. Может так оказаться, что это хендл не того окна, которое нужно. В Excel 2013 свойство hWnd добавили и у Window.
|
|
|
|
| |
Пост N: 6176
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.12.16 16:08. Заголовок: Pasha пишет: Может ..
Pasha пишет: цитата: | Может так оказаться, что это хендл не того окна, которое нужно. |
| Пока ни кто не жаловался , и промахов не было В основном у юзеров стоит 2003 офис.
|
|
|
|
| постоянный участник
|
Пост N: 5220
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.12.16 16:22. Заголовок: Dima пишет: В основ..
Dima пишет: цитата: | В основном у юзеров стоит 2003 офис. |
| А как делаешь ?
|
|
|
|
| |
Пост N: 6177
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.12.16 16:34. Заголовок: Andrey пишет: А как..
Andrey пишет: чито ?
|
|
|
|
| постоянный участник
|
Пост N: 5221
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.12.16 16:46. Заголовок: Хендл окна поймал. ..
Хендл окна поймал. Вывожу на передний план так: ShowWindow( hWnd, 3 ) //SW_MAXIMIZE=3 SW_NORMAL=1 SW_MINIMIZE=6 BringWindowToTop( hWnd ) MsgDebug(hWnd) Не выводится... Фар всё равно на переднем плане... Как правильно поместить окно Word поверх всех окон ?
|
|
|
|
| |
Пост N: 6178
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.12.16 16:49. Заголовок: Andrey Для Excel та..
Andrey Для Excel так , норм вроде Func Showexcel(ex) local hWnd hWnd := Ex:hWnd ShowWindow(hWnd, 3) BringWindowToTop(hWnd) return nil
|
|
|
|
| постоянный участник
|
Пост N: 5222
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.12.16 16:53. Заголовок: Dima пишет: Для Exc..
Dima пишет: цитата: | Для Excel так , норм вроде |
| Да у меня с ним тоже в порядке, а с Вордом проблема.... Делаю так: ShowWindow( hWnd, 6 ) //SW_MAXIMIZE=3 SW_NORMAL=1 SW_MINIMIZE=6 INKEYGUI(800) ShowWindow( hWnd, 3 ) //SW_MAXIMIZE=3 SW_NORMAL=1 SW_MINIMIZE=6 BringWindowToTop( hWnd ) MsgDebug(hWnd) Окно Ворда исчезает, а потом появляется. Но окно Проводника или Фара не перекрывают, почему то Ворд на заднем плане.
|
|
|
Ответов - 103
, стр:
1
2
3
4
5
6
All
[только новые]
|
|