Aby sprawdzić, czy mogę uwolnić się od ograniczeń VBA, próbuję napisać makro w VSTA (vbscript). Na pierwszy rzut oka wydaje się, że jest to biblioteka klas, a nie formularze Windows.
Mój problem polega na tym, że chcę mieć interfejs do mojego makra, z wyjątkiem tego, że gdy wyświetlam formularz z Sub main() kodu SolidworksMacro.vb zamyka go zaraz po załadowaniu i kontynuuje jego wykonywanie do końca kodu, więc zatrzymuje makro...
Ale chcę takiego samego zachowania, jak w przypadku makra VBA; Niech pokaże formularz, a strażnik się otworzy.
Mówiąc dokładniej (ponieważ nie mogłem znaleźć informacji w sieci, musiałem sam poeksperymentować, aby dowiedzieć się, jak to zrobić), oto 2 linie kodu do otwarcia formularza użytkownika z klasy startowej (SolidWorksMacro.vb) utworzonej przez SW:
Public Sub main()
Dim f As Object = New myForm
f.ShowDialog
End Sub
W miejscu, w którym należy zastąpić myForm nazwą formularza użytkownika, który ma być wyświetlany.
Oprócz skondensowanego działa to również:
Public Sub main()
Dim f As Object = New myForm().ShowDialog
End Sub