Modificar los Comandos del Word

Esta es una característica importantísima para el desarrollador en Vba porque nos permite intervenir en la mayoría de los comandos del Word para que, en lugar de hacer lo que tienen predeterminado, ejecuten la macro que nosotros diseñemos

Por ejemplo podríamos escribir un macro llamado FileSave() que grabe una segunda copia o lleve un registro de las modificaciones hechas al documento cada vez que este es grabado, así podríamos registrar los cambios que se le hacen a los documentos sin que el usuario se de cuenta (suponemos un usuario no especializado en VBA por supuesto. Los que pretenden escribir un virus de macro también tendrán pensamientos malignos en este punto. En fin, la manera estándar de modificar un comando del Word es:

1.  En el menú Herramientas, Macro, Macros

2.  En Macros en, escoger Comandos del Word

3.  En Nombre de Macro name, escoja el comando que quiere modificar (por ejemplo Archivo Guardar Todo).

4.  En Macros en, seleccione la plantilla o ubicacion donde quiera guardar la macro. Si usa Normal.dot la macro funcionará en todos los documentos  

5.   Crear

Se abrirá un módulo como por ejemplo:

Sub FileSave()
'
' FileSave Macro
' Saves the active document or template
'
    ActiveDocument.Save
End Sub

 

En este módulo se pueden agregar comandos (para que además de grabar haga otras operaciones o también podría borrar la línea ActiveDocument.Save y programar cualquier otro procedimiento que requiera

Eventos de Documento

Los eventos de documento que se pueden programar en el Word son:

Close

Ocurre cuando un documento es cerrado

New

Ocurre cuando una plantilla genera un nuevo documento y lo abre

Open

Ocurre cuando un documento es abierto

Por ejemplo, para maximizar un documento cada vez que es abierto usamos

Private Sub Document_Open()
    Application.WindowState = wdWindowStateMaximize
End Sub

Eventos de Aplicación

DocumentChange

Occurre cuando se crea un nuevo documento, cuando se abre uno existente, o cuando otro documento se hace activo

Quit

Ocurre cuando el usuario sale del Word.

 

El siguiente ejemplo asegura que las toolbar Standard y Formatting sean visibles antes que el usuario salga del Word, para que queden visibles para el próximo uso

Private Sub App_Quit()
    CommandBars("Standard").Visible = True
    CommandBars("Formatting").Visible = True
End Sub
 
Los Macros Auto

Hay algunos nombres de macro especiales que se ejecutan cuando ocurren ciertos eventos, estos nombres son:

AutoExec

Cada vez que parte el Word o se inicia con la plantilla Global

AutoNew

Cada vez que se crea un nuevo documento

AutoOpen

Cada vez que se abre un documento que ya existe

AutoClose

Cada vez que se cierra un documento

AutoExit

Cada vez que se sale del Word

 

Lección 5

tombrad@webhost.cl
http://fly.to/arica