Die statischen Skripte kann ich auch nicht verstehen, aber Execute kann zum Beispiel genutzt werden, um dynamisch Skript Bibliotheken zu laden.
Beispiel Code (der funktioniert nicht, nur um das Prinzip zu zeigen):
Dim lib as Variant
If Typ = "A" Then
script = {Use "Lib-Typ-A"
Set lib = New Lib-Typ()}
Elseif Typ = "B" Then
script = {Use "Lib-Typ-B"
set lib = New Lib-Typ()}
Else
script = {Use "Lib-Typ-Sonstige"
set lib = New Lib-Typ()}
End If
Execute script
Call lib.macheWas()
Je nach Inhalt der Variable Typ wird eine andere Skript Bibliothek geladen und das Objekt lib als Klasse Lib-Typ initialisiert. Nach dem Execute ist die Variant Variable lib mit der Klasse Lib-Typ initialisiert und die Methoden/Eigenschaften können verwendet werden.
Zweite Möglichkeit, die ich selber bereits mehrfach verwendet habe: ich habe Standard Skript Bibliotheken, die durch Kunden erweitert werden können. Die Kunden können direkt die Skript Bibliothek ändern, dann gibt es ein Problem beim nächsten Update. Oder der Kunde schreibt seinen Skript Code im Designer und testet das. Sobald der Code funktioniert, per Copy&Paste in ein Notes Dokument einfügen. In meiner Skript Bibliothek lese ich den Code aus dem Notes Dokument aus und nutze Execute, um den Kunden Code auszuführen.
Dadurch kann ich jederzeit ein Update meiner Standard Skript Bibliothek machen, ohne die Funktionen des Kunden zu überschreiben.
Weiterer Vorteil: die Skript Bibliotheken müssen nicht mehr neu kompiliert werden nach jedem Update