Czy możliwy jest formularz w makro VSTA?

Witam

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.

Jakiś pomysł? Rozwiązanie?

Dziękuję.

Ach... Wydaje się, że z ShowDialog() zamiast Show() to działa.

1 polubienie

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