Я работаю с несколькими пользовательскими формами в vbscript.Как использовать объект из другой пользовательской формы в vbscript?
Я создаю объект в пользовательской форме и пытаюсь вызвать его в другой пользовательской форме. Я пробовал объявлять объект как общедоступный в обоих формах пользователя, но все же я не могу получить доступ к объекту из другой пользовательской формы.
Загляните в вашу сторону.
Заранее спасибо.
UserForm1:
Public Inner_V1 As Object
Private Sub Inner_V1_CD_Click()
'Auswahlfenster ausblenden
Input_selection2.Hide
'Dim myDoc As Document
Set myDoc = CATIA.ActiveDocument
On Error Resume Next
Set ActivePart = CATIA.ActiveDocument.Part
If Err.Number <> 0 Then
On Error GoTo 0
Box = MsgBox("Das geöffnete Dokument ist kein CATPart!" + Chr(10) + "Das Makro wird beendet", vbExclamation, "Falscher Dateityp")
Unload Input_selection2
Exit Sub
End If
' Selektion definieren und leeren ----
Dim UserSel As Object
Set UserSel = myDoc.Selection
UserSel.Clear
'-------------------------------------
' User wählt die Fläche aus #############################################################################
' Auswahl festlegen -------------------
Dim Was1(0)
Was1(0) = "HybridShape"
'--------------------------------------
Dim Auswahl 'Wird für die SelectElement2 Methode benötigt (Auswahl durch User)
Auswahl = UserSel.SelectElement2(Was1, "Bitte die Fläche auswählen.", False)
If Auswahl = "Normal" Then
Set Inner_V1 = UserSel.Item(1).Value
Inner_V1.Value = Inner_V1.Name
Else
Unload Input_selection2
Exit Sub
End If
' Selektion freigeben -----------------------------------------------------
UserSel.Clear 'User-Auswahl löschen
'Auswahlfenster anzeigen
Input_selection2.Show
End Sub
Userform2:
Private Sub Weiter_Click()
Set hybridBodies1 = part1.HybridBodies
Set hybridBody1 = hybridBodies1.Add()
hybridBody1.Name = "test"
Set reference1 = part1.CreateReferenceFromObject(Inner_V1)
Set reference2 = part1.CreateReferenceFromObject(Guide_curve)
Set sweep_v1 = hybridShapeFactory1.AddNewSweepExplicit(reference1, reference2)
Set reference3 = part1.CreateReferenceFromObject(Support_V)
hybridBody1.AppendHybridShape sweep_v1
End Sub
Здесь Inner_V1 является объект, который нужно использовать с UserForm1.
ли вы имеете в виду VBA? В каком приложении? –
Да VBA Im использует для разработки макроса в CATIA – user3714887
Не уверен в CATIA, но в Excel VBA (и в VBA вообще) нет статических объектов в классах и формах. Вам нужно разместить глобальные переменные в отдельном модуле. –