All Forums
 Категория Visio
 Форум Вопросы и ответы
 VBA
Author Previous Topic Topic Next Topic  

moiseev

5 Posts

Posted - 04/28/2003 :  03:52:11
Очень хочется, чтобы VBA, выполняя макрос находящийся в одном документе, вызвал макрос из другого документа (с передачей параметров типа ThisDocument или ActiveWindow). Или как средствами VBA сделать так, чтобы в пользовательском документе были только "заглушки", а вся функциональность прописывалась бы во внешнем документе.

Заранее спасибо.
Отдельное спасибо г-ну Туманову за ответ про ActiveWindow.Page="Page-2"

Edited by - moiseev on 04/28/2003 05:05:13

Tumanov

Russia
1198 Posts

Posted - 04/28/2003 :  12:42:28
Вариант - просто открыть в макросе второй документ, в котором установлен обработчик события DocumentOpened.
Sub ttt()
Dim docObj As Visio.Document
Set docObj = Documents.Open("С:\temp\f2.vsd")
' docObj.Close
End Sub
Во втором документе
Private Sub Document_DocumentOpened(ByVal doc As IVDocument)
MsgBox "Запуск макроса из второго документа"
End Sub
Но много всяких тонкостей: если второй документ уже открыт, событие не сработает, нужно использовать другое; если не выключено слежение за наличием макросов, то при открытии второго документа выскочит окно с запросом подтверждения; ну и т.д. То есть надо подгонять под конкретную ситуацию.
Go to Top of Page

bykov

Russia
1 Posts

Posted - 05/06/2003 :  14:07:06
При импорте структуры данных Visio достаточно полно засасывает всю информацию о базе данных. Есть задача по формированию отчета по объектам базы данных в виде системы таблиц с перечислением полей и относяйщеся к ним информации. Существует ли какой-нибудь стандартный макрос с такой функциональностью?
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)