SaveScriptString
SaveScriptString
Diese Funktion ist in folgenden Access-Versionen verfügbar: 2000, 2002, 2003, 2007, 2010
Schreibt einen Wert in eine Spalte eines Makros.
Function SaveScriptString(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 |
|
Wert, der eingetragen werden soll |
True, wenn der Wert geschrieben werden konnte.
False, wenn beim Schreiben des Wertes ein Fehler aufgetreten ist.
Dim hScr As Long
Dim strScript As String
Dim strLabel As String
Dim lngOpenMode As Long
Dim lngExtra As Long
Dim lngVersion As Long
'Initialisieren
strScript = "mak_MakroTest"
strLabel = ""
lngOpenMode = 2
'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
'Werte schreiben
api_Makro_NextRow hScr, 0&, 0&
fSaveActidHscr hScr, 22&
WizHook.SaveScriptString hScr, 0&, "Name des Makros"
WizHook.SaveScriptString hScr, 1&, "Kommentar"
WizHook.SaveScriptString hScr, 2&, "..."
WizHook.SaveScriptString hScr, 3&, "Text für MsgBox"
WizHook.SaveScriptString hScr, 4&, True
WizHook.SaveScriptString hScr, 5&, 0
WizHook.SaveScriptString hScr, 6&, "Titel"
'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 fSaveActidHscr Lib "msaccess.exe" Alias "#25" _
(ByVal hScr As Long, ByVal actid As Long) As Long
Private Declare Sub fCloseHscr Lib "msaccess.exe" _
Alias "#20" (ByVal hScr As Long)
Siehe auch "OpenScript", "Action-IDs und ihre Aktionen", "GetScriptString" und "NameFromActid".
Damit die vorgenommenen änderungen endgültig gespeichert werden muss das Makro geschlossen werden.