Tumanov
Russia
1198 Posts |
Posted - 03/13/2004 : 16:39:33
|
Открываете Visio, делаете в нем две страницы. В VBA пишете следующий текст:
Dim WithEvents SuperPage As Visio.Page
Private Sub Document_DocumentOpened(ByVal doc As IVDocument) Set SuperPage = Pages(1) End Sub
Private Sub SuperPage_ConnectionsAdded(ByVal Connects As IVConnects) MsgBox "Bum!!!" End Sub
Сохраняете рисунок. (Это подготовка) ----------------------------- Теперь открываете рисунок, что-нибудь рисуете на первой странице и связываете это коннектором. Делаете то же на второй странице. Каждое соединение на первой странице приводит к появлению сообщения, а на второй не приводит. Поясняю. Dim WithEvents SuperPage As Visio.Page говорит, что на странице SuperPage должны обрабатываться дополнительные события. Эта страница только объявлена, но не привязана к конкретному объекту. Конкретная привязка производится при загрузке документа. Set SuperPage = Pages(1) говорит, что первая страница документа как раз и будет этой SuperPage. И вот после этого кажое появление нового Connection будет вызывать обработчик SuperPage_ConnectionsAdded и делать Bum!!! Естественно, привязку можно делать не только при загрузке, но и другим способом. Например, в другом макросе. |
|
|