GetScripString
GetScriptString
Diese Funktion ist in folgenden Access-Versionen verfügbar: 2000, 2002, 2003, 2007, 2010
Liefert die Werte aus den verschiedenen Spalten eines Makros und seiner Argumente.
Function GetScriptString(HScr As Long, ScriptColumn As Long, Value As String) As Boolean
HScr |
|
Referenz auf ein geöffnetes Makro |
ScriptColumn |
|
Zahl, die die Spalte angibt
0: Name des Markos
1: Kommentar
2: Bedingung
3-12: Argumente |
Value |
|
Inhalt der Spalte
(wird von Funktion zurückgeliefert) |
True, wenn Funktion erfolgreich beendet wurde.
False, wenn Funktion fehlerhaft ausgeführt wurde.
Dim hScr As Long
Dim strScript As String
Dim strLabel As String
Dim lngOpenMode As Long
Dim lngExtra As Long
Dim lngVersion As Long
Dim lngActionID As Long
Dim strAction As String
Dim strText As String
Dim fEnde As Boolean
'Initaialisieren
strScript = Nz(Me!txtMakroName, "")
strLabel = "Test"
lngOpenMode = 0
'Makro öffnen
WizHook.Key = 51488399
hScr = WizHook.OpenScript(strScript, strLabel, lngOpenMode, lngExtra, lngVersion)
'Ausstieg bei Fehler
If hScr = 0 Then
MsgBox "Markro konnte nicht geöffnet werden."
Exit Sub
End If
'Makro lesen
Do While Not (fEnde)
api_Makro_NextRow hScr, 0&, 0&
lngActionID = api_Makro_GetActID(hScr)
If lngActionID <> -1 Then
strAction = WizHook.NameFromActid(lngActionID)
MsgBox strAction, vbInformation, "Aktion:"
WizHook.GetScriptString hScr, 0&, strText
MsgBox strText, vbInformation, "Label:"
WizHook.GetScriptString hScr, 1&, strText
MsgBox strText, vbInformation, "Kommentar:"
WizHook.GetScriptString hScr, 2&, strText
MsgBox strText, vbInformation, "Bedingung:"
WizHook.GetScriptString hScr, 3&, strText
MsgBox strText, vbInformation, "Argument:"
Else
fEnde = True
End If
Loop
'Makro schliessen
fCloseHscr hScr
'Zusätzlich müssen folgende Funktionen deklariert sein:
Private Declare Function api_Makro_NextRow Lib "msaccess.exe" _
Alias "#22" (ByVal Makro As Long, ByVal lngSkipBlank As Long, _
lngEndOfMakro As Long) As Long
Private Declare Function api_Makro_GetActID Lib "msaccess.exe" _
Alias "#29" (ByVal Makro As Long) As Long
Private Declare Sub fCloseHscr Lib "msaccess.exe" _
Alias "#20" (ByVal hScr As Long)
Siehe auch "OpenScript", "SaveScriptString" und "NameFromActid".