Ist ein Formular in einem Makro-VSTA möglich?

Hallo

Um zu sehen, ob ich mich von den Einschränkungen des VBA befreien kann, versuche ich ein Makro in VSTA (vbscript) zu schreiben. Von Anfang an scheint es, dass es sich um den Typ Klassenbibliothek und nicht um Windows Forms handelt.

Mein Problem ist, dass ich eine Schnittstelle zu meinem Makro haben möchte, außer dass, wenn ich das Formular aus dem Sub main() des Codes SolidworksMacro.vb anzeige, es geschlossen wird, sobald es geladen wird, und seine Ausführung bis zum Ende des Codes fortsetzt, also stoppt das Makro ...

Aber ich möchte das gleiche Verhalten wie bei einem VBA-Makro. Laß ihn die Gestalt zeigen und den Wächter öffnen.

Irgendeine Idee? Eine Lösung?

Vielen Dank.

Ah... Mit ShowDialog() anstelle von Show() scheint es zu funktionieren.

1 „Gefällt mir“

Um genau zu sein (weil ich die Informationen nicht im Netz finden konnte, musste ich selbst experimentieren, um herauszufinden, wie es geht), hier sind die 2 Codezeilen zum Öffnen eines Benutzerformulars aus der Startklasse (SolidWorksMacro.vb), die von SW erstellt wurde:

Public Sub main()

	Dim f As Object = New myForm
	f.ShowDialog

End Sub

Dabei sollte myForm durch den Namen des Benutzerformulars ersetzt werden, das Sie anzeigen möchten.

Neben verdichtet funktioniert das auch:

Public Sub main()

	Dim f As Object = New myForm().ShowDialog

End Sub