Trucos Emplear eventos para saber que finalizó la ejecución de Word

Visual Basic 5.0 introduce la palabra clave WithEvents que nos permite responder e eventos generados por un servidor ActiveX. Este artículo muestra cómo podemos usar WithEvents para atrapar el evento Quit del objeto Microsoft Word Application.

Para recivir los eventos de un servidor ActiveX debemos declarar una variable que reflejará el objeto:

        Dim WithEvents objWord As Word.Application


Una vez que declaramos el objeto Word.Application de esta manera, podemos responder a los eventos que genere. Por ejemplo, para responder al evento Quit del objeto objWord podemos crear un procedimiento llamado objWord_Quit.

Ejemplo paso a paso

NOTA: Microsoft Word 97 es la única aplicación de Microsoft Office que expone un evento Quit.

1.Empezamos un nuevo proyecto "Exe estándar".

2.Seleccionamos la referencia a "Microsoft Word 8.0 Object Library".

3.Añadimos un módulo de clase al proyecto.

4.Añadimos el siguiente código a Class1:


  Dim WithEvents objWord As Word.Application

  Private Sub Class_Initialize()
    Form1.Label1.Caption = "Starting Word..."
    'Instanciamos una nueva instancia de Word y añadimos
    'un nuevo documento
    Set objWord = New Word.Application
    objWord.Documents.Add
    objWord.Visible = True

    Form1.Label1.Caption = "Word se está ejecutando..."

  End Sub

  Private Sub objWord_Quit()

    'Respondemos al evento Quit de Word
    Form1.Label1.Caption = "¡Hemos salido de Word!"

  End Sub


5.Añadimos un Label y un CommandButton a Form1.

6.Añadimos el siguiente código en Form1:

  Dim objAppWithEvents As Class1

  Private Sub Command1_Click()
    'Instanciamos Class1
    Set objAppWithEvents = New Class1
  End Sub

  Private Sub Form_Unload(Cancel As Integer)
    Set objAppWithEvents = Nothing
  End Sub

7.Ejecutamos la aplicación. Pulsamos en Command1. Se carga la nueva instancia de Word. Una vez que la aplicación se cargó y está visible en Label1 aparece "Word se está ejecutando...". Salimos de Word. En Label1 aparecerá "¡Hemos salido de Word!".



Trucos Trucos

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com