Хочу поднять эту тему в плане запуска макроса активной детали (сборки) из Addin.
Сейчас у меня получилось что при запуске простой детали (детали не содержащей макросов ) все в порядке (в Addin отлавливается ошибка процедура останавливается),
при запуске детали содержащей процедуру (деталь в которой есть процедура запуска формы и сама форма) тоже все норм (запускается форма),
но если открыта простая деталь и деталь с процедурой и активна простая деталь то при отработке кнопки Addin запускается процедура с детали содержащей процедуру и соответственно
выдает ошибку. По моей задумке при отработке кнопки Addin должна запускаться процедура именно с активного документа для открытия нужной формы, если в активном документе такой процедуры нет то и нечего запускать не надо.
Сейчас код запуска процедуры выглядит так
Private Sub m_sampleButton_OnExecute(Context As NameValueMap) Handles m_PartRedaktorButton.OnExecute
Dim oApp As Inventor.Application
oApp = GetObject(, "Inventor.Application")
Dim invVBA As InventorVBAMember
Try
invVBA = oApp.VBAProjects.Item(2).InventorVBAComponents.Item("Module3").InventorVBAMembers("M1") '
invVBA.Execute()
Catch
MsgBox("Не нормализованная деталь!")
Exit Sub
End Try
End Sub
Как я понял мне необходимо процедуру запуска формы переместить в "ThisDocument" VBA тогда она будет срабатывать только в активном документе соответственно необходимо переписать
код в Addin "invVBA = oApp.VBAProjects.Item(2).InventorVBAComponents.Item("Module3").InventorVBAMembers("M1") "
Подскажите как добраться до процедуры в "ThisDocument" VBA, или другие пути решения.