|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.11.2012, 12:04 | #1 |
Пользователь
Регистрация: 25.10.2009
Сообщений: 92
|
Работа с несколькими документами
Часто возникает такая проблема: работаю одновременно с несколькими документами, у которых один шаблон. В этом шаблоне есть макрос, вызывающий форму. Когда я переключаюсь между документами и вызываю макрос, то фокус переходит на предыдущий документ, из которого был вызван макрос и действия выполняются там. А мне нужно, разумеется, чтобы в текущем документе всё выполнялось.
Форма объявлена в пространстве шаблона. Форму вызываю примерно так: Код:
Код:
|
23.11.2012, 15:27 | #2 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Нужно показать форму не модально, как например окно поиска и замены:
Код:
Лучше день потерять — потом за пять минут долететь!©
|
23.11.2012, 17:33 | #3 |
Пользователь
Регистрация: 25.10.2009
Сообщений: 92
|
Нет, мне не совсем это нужно. Мне нужно, чтобы форма была модальной, но чтоб она открывалась в активном документе, а не том, где была открыта в предыдущий раз.
|
24.11.2012, 02:39 | #4 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Как ведёт себя форма? Она открывается для предыдущего активного документа или для того документа из которого была вызвана в первый раз? У меня подобный трюк повторить не получается: активным остаётся документ, который и был активным до вызова формы
Лучше день потерять — потом за пять минут долететь!©
|
26.11.2012, 09:35 | #5 |
Пользователь
Регистрация: 25.10.2009
Сообщений: 92
|
Итак, что делаю:
1. Открываю документ1, выполняю макрос, в котором вызывается форма Form1.Show 2. В форме в событии Form_Activate заполняется список, находящийся на форме, полями автотекста, содержащимися в шаблоне. 3. Выбираю в списке элемент, нажимаю на форме кнопку, в которой в конце есть вызов Unload Me 4. Элемент автотекста вставляется в документ1 5. Перехожу к документу2 - делаю его активным, вызываю тот же макрос Результат: Активным становится документ1, форма открывается в нем, далее после выбора в списке текст вставляется в него Ожидаемый результат: Активным остается документ2, форма открывается в нем, в него же вставляется текст Проблема решается, только если закрыть документ1 Последний раз редактировалось cw_o; 26.11.2012 в 09:40. |
26.11.2012, 15:20 | #6 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Дьявол кроется в деталях. Сдаётся мне, что причина в процедуре активации формы. Почему заполнять поля формы нужно при активации, а не при открытии?
Лучше день потерять — потом за пять минут долететь!©
|
26.11.2012, 16:25 | #7 |
Пользователь
Регистрация: 25.10.2009
Сообщений: 92
|
Перенесла заполнение списка в Form_Initialize(). Результат тот же. Может, каким-то искусственным методом заставить его оставлять активным нужный документ?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с документами Ворда на веб странице | Ципихович Эндрю | Microsoft Office Word | 15 | 16.09.2012 11:31 |
Работа с документами в php | manula | PHP | 3 | 04.09.2012 12:36 |
Работа с документами на сайте | SashaS | HTML и CSS | 3 | 17.03.2012 13:35 |
Работа с несколькими документами одновременно | Busine2009 | Microsoft Office Word | 12 | 04.06.2009 19:53 |