In meinem Makro möchte ich die Variable A mit "X" und z.B. mit 5 zusammensetzen zu "X5".
Gemeint ist der Wert bzw, Inhalt der Variable und nicht wie geschrieben die Variable selbst, nehme ich an?
Anschließend soll A in ein Objekt umgewandelt werden, damit ein anderes Makro (hier mit dem Namen X5) ausgeführt werden kann.
Und das heißt konkret? Der Name eines Makros ist jedenfalls KEIN Objekt.
Was mir einfällt sind 2 Fälle, nämlich:
erstens das das Makro gewünschten Namens bereits existiert und nur noch gestartet werden soll, dann ist zwangsläufig auch die Anzahl denkbarer namentlicher Makros beschränkt und es reicht ein Select-Case, im prinzipiellen Sinne von:
Code: Alles auswählen
A = "X" & "5"
Select Case A
Case "X1"
X1
Case "X2"
X2
'Case ...
End SElect
zweitens das das Makro erst angelegt werden müßte, das ginge z.B. im Sinne von:
Code: Alles auswählen
Sub Main
A = "X" & "5"
BasicLibs = Globalscope.BasicLibraries
oLib = BasicLibs.Getbyname("Standard")
moduleText = "REM Test" + CHR(13) + "Sub " & A + CHR(13) + "msgbox ""Hallo Welt"" " + CHR(13) + "End Sub"
oLib.insertByName("New_Modul",moduletext)
moduleText = "Sub Start_fuer_Laufzeitmakro()" + CHR(13) + "New_Modul." & A + CHR(13) + "End Sub"
oLib.insertByName("Modul_tmp",moduletext)
Modul_tmp.Start_fuer_Laufzeitmakro()
End Sub
(siehe auch:
http://www.starbasicfaq.de/WiekannmanMo ... chen..html)
was jedoch eine recht eigenwillige Art des Vorgehens wäre.
Gruß
Stephan
[quote]In meinem Makro möchte ich die Variable A mit "X" und z.B. mit 5 zusammensetzen zu "X5".[/quote]
Gemeint ist der Wert bzw, Inhalt der Variable und nicht wie geschrieben die Variable selbst, nehme ich an?
[quote]Anschließend soll A in ein Objekt umgewandelt werden, damit ein anderes Makro (hier mit dem Namen X5) ausgeführt werden kann.[/quote]
Und das heißt konkret? Der Name eines Makros ist jedenfalls KEIN Objekt.
Was mir einfällt sind 2 Fälle, nämlich:
erstens das das Makro gewünschten Namens bereits existiert und nur noch gestartet werden soll, dann ist zwangsläufig auch die Anzahl denkbarer namentlicher Makros beschränkt und es reicht ein Select-Case, im prinzipiellen Sinne von:
[code]A = "X" & "5"
Select Case A
Case "X1"
X1
Case "X2"
X2
'Case ...
End SElect[/code]
zweitens das das Makro erst angelegt werden müßte, das ginge z.B. im Sinne von:
[code]Sub Main
A = "X" & "5"
BasicLibs = Globalscope.BasicLibraries
oLib = BasicLibs.Getbyname("Standard")
moduleText = "REM Test" + CHR(13) + "Sub " & A + CHR(13) + "msgbox ""Hallo Welt"" " + CHR(13) + "End Sub"
oLib.insertByName("New_Modul",moduletext)
moduleText = "Sub Start_fuer_Laufzeitmakro()" + CHR(13) + "New_Modul." & A + CHR(13) + "End Sub"
oLib.insertByName("Modul_tmp",moduletext)
Modul_tmp.Start_fuer_Laufzeitmakro()
End Sub[/code]
(siehe auch: http://www.starbasicfaq.de/WiekannmanModuleerzeugenundlschen..html)
was jedoch eine recht eigenwillige Art des Vorgehens wäre.
Gruß
Stephan