SaveScriptString Para esta y otras dos funciones del objeto WizHook relacionadas con las macros, me he basado en el código que aparece en la herramienta V-Tools (2000 y 2002), y que amablemente publica Skrol29 http://www.skrol29.com en su página web. |
|
Volver |
'********************************************************* ' Function SaveScriptString( ' HScr As Long, ' ScriptColumn As Long, ' Value As String) As Boolean ' ' Método para escribir valores en una macro. ' Devuelve True si ha tenido éxito. ' ' Argumentos: ' HScr: Valor Long que representa a la macro ' ScriptColumn: Valor Long que representa la columna de ' la macro en la que se va a escribir ' ' Valores de ScriptColumn: ' ' Si ScriptColumn es la columna será ' ------------------ --------------- ' 0 Nombre de macro ' 1 Comentario ' 2 Condición ' 3-12 Argumentos ' ' Value: Valor de tipo cadena que se grabará en la ' columna. ' ' Para el siguiente ejemplo, necesitaremos utilizar 3 ' funciones API de Access ' ' Cerrar una macro Private Declare Sub fCloseHscr _ Lib "msaccess.exe" _ Alias "#20" _ (ByVal HScr As Long) ' Avanzar a la siguiente línea de una macro Private Declare Function fNextHscr _ Lib "msaccess.exe" _ Alias "#22" _ (ByVal HScr As Long, _ ByVal fSkipBlank As Long, _ pfEndOfScript As Long) As Long ' Escribir el valor de una acción en una macro Private Declare Function fSaveActidHscr _ Lib "msaccess.exe" _ Alias "#25" _ (ByVal HScr As Long, _ ByVal actid As Long) As Long Sub wzSaveScriptString() Dim hMacro As Long Dim wzScript As String Dim wzLabel As String Dim wzOpenMode As Long Dim wzExtra As Long Dim wzVersion As Long Dim EndOfScript As Long ' Nombre de la macro wzScript = "Macro de ejemplo" ' Modo escritura wzOpenMode = 2& WizHook.Key = 51488399 ' abrimos la macro para escritura hMacro = WizHook.OpenScript(wzScript, _ wzLabel, wzOpenMode, wzExtra, wzVersion) If hMacro <> 0 Then ' nos posicionamos en la primera línea fNextHscr hMacro, 0&, EndOfScript ' grabamos la acción ("MsgBox") fSaveActidHscr hMacro, 22& ' grabamos en la columna "Nombre de macro" WizHook.SaveScriptString _ hMacro, 0&, "Ejemplo de etiqueta" ' grabamos en la columna "Comentarios" WizHook.SaveScriptString _ hMacro, 1&, "Ejemplo de comentario" ' grabamos en la columna "Condición" WizHook.SaveScriptString _ hMacro, 2&, "..." ' grabamos en el primer argumento WizHook.SaveScriptString _ hMacro, 3&, "Ejemplo de creación de " _ & "macro y escritura de valores" End If ' para que los cambios tengan efecto, se ha ' de cerrar/guardar la macro fCloseHscr hMacro End Sub '********************************************************* |
Contactar | Última actualización 21/9/2003 © Juan M. Afán deRibera |