Bardzo dziękuję za odpowiedzi. Patrzę na to wszystko!
Jeśli staram się unikać makra, to dlatego, że użytkownicy nie są przeszkoleni w VBA i nie byliby w stanie zmodyfikować kodu, gdyby musieli wprowadzić zmiany w module. A ponieważ jestem tylko przejazdem, moduł byłby wtedy bezużyteczny.
Oczywiście odpowiednikiem w makro byłoby:
Dim swApp As Object
Przyciemnij część jako obiekt
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Ustaw swApp = _
Aplikacja.SldWorks
Ustaw część = swApp.ActiveDoc
Przyciemnij myModelView jako obiekt
Dim L Jak Pojedynczy
L = InputBox("L_inter_épau", "Zdenerwowany")
Jeśli L > 170, to
boolstatus = Part.Extension.SelectByID2("Duży [>175mm]@EX10610_00000_10_boni. SLDASM", "KONFIGURACJE", 0, 0, 0, Fałsz, 0, Nic, 0)
boolstatus = Part.ShowConfiguration2("Duży [>175mm]")
ElseIf L > 145 to
boolstatus = Part.Extension.SelectByID2("Średni [145-170mm]@EX10610_00000_10_boni. SLDASM", "KONFIGURACJE", 0, 0, 0, Fałsz, 0, Nic, 0)
boolstatus = Part.ShowConfiguration2("Średni [145-170mm]")
Inaczej
boolstatus = Part.Extension.SelectByID2("Mały [55-145mm]@EX10610_00000_10_boni. SLDASM", "KONFIGURACJE", 0, 0, 0, Fałsz, 0, Nic, 0)
boolstatus = Part.ShowConfiguration2("Mały [55-145mm]")
Zakończ jeżeli:
Koniec subwoofera