Author |
Topic |
|
arturik
Russia
29 Posts |
Posted - 05/11/2007 : 10:54:15
|
Доброго времени суток у меня возникает проблема с обновлением данных при загрузке документа.
При открытии выдается ошибка «Visio is about to access the following ODBC data source “visio”. Click ok to processed», хотя AlertResponse = 1.
Выяснил что на строке «shp.Cells("EventDblClick").Trigger»
После открытия документа процедура «ref» работает без ошибок, кто знает как это обойти.
Private Sub Document_DocumentOpened(ByVal doc As IVDocument) ref End Sub
Sub ref() Dim shp As Shape Dim s As Page Application.AlertResponse = 1 Set s = ActivePage For i = 1 To ActiveDocument.Pages.Count Application.ActiveWindow.Page = Application.ActiveDocument.Pages(i) On Error Resume Next ActiveWindow.SelectAll On Error GoTo 0 For Each shp In ActiveWindow.Selection If shp.CellExists("User.ODBCConnection", 0) Then shp.Cells("EventDblClick").Formula = "RUNADDON(""DBR"")" shp.Cells("EventDblClick").Trigger End If Next ActiveWindow.DeselectAll Next Application.ActiveWindow.Page = s Application.AlertResponse = 0 End Sub
Заранее благодарю.
Visio 2003(SP2) |
|
Tumanov
Russia
1198 Posts |
Posted - 05/11/2007 : 19:41:03
|
По-видимому, в момент загрузки создаются такие условия, когда AddOn "DBR" еще не может выполниться. Если он все равно не выполняется, то можно при загрузке и не пытаться его выполнить (если логика работы приложения позволяет). Например, в DocumentOpened перед вызовом Ref включить какой-нибудь флаг, а после вызова выключить. А в Ref добавить If, чтобы при установленном флаге пропускать строку с методом Trigger. |
|
|
arturik
Russia
29 Posts |
Posted - 05/14/2007 : 07:32:35
|
Ясно, спасибо за ответ. Просто мне хотелось обнолять все данные у шейпов во время загрузки. Придется делать менюшку с ручным запуском после открытия документа. |
Edited by - arturik on 05/14/2007 07:34:42 |
|
|
|
Topic |
|
|
|