Propiedad Callback

Microsoft Office Objects

Propiedad Callback

       

Establece el nombre del procedimiento para que se ejecute en un globo no modal. String de Lectura/Escritura.

Comentarios

El procedimiento que se especifique para la propiedad Callback debe estar escrito para recibir dos o tres argumentos, según con qué se vaya a utilizar la propiedad. Si se utiliza la propiedad Callback con un asistente, se debe escribir el procedimiento para recibir dos argumentos: un número entero largo que represente el valor msoBalloonButtonType del botón en el que el usuario hace clic, y un número entero largo que sólo identifique al globo. Si se utiliza la propiedad Callback con un globo no modal, se debe escribir el procedimiento para recibir tres argumentos: el objeto Balloon que llama al procedimiento; un número entero largo que representa el valor msoBalloonButtonType del botón en el que el usuario hace clic; y un número entero largo que sólo identifique al globo que llama al procedimiento, como se indica en la propiedad del globo Private.

El procedimiento de devolución de llamada debe contener, por lo menos, una condición bajo la que se aplique el método Close al objeto Balloon al que se ha traspasado; si no, el globo no modal no se podrá cerrar.

Si especifica un procedimiento que se almacene en un módulo de clase independiente, debe incluir el nombre del módulo en el valor que se asigne a la propiedad Callback; por ejemplo, "Sheet1.MyCallback).

Ejemplo

Este ejemplo muestra un globo que contiene un botón por cada tres impresoras. Siempre que el usuario haga clic en uno de esos tres botones, el procedimiento de devolución de llamada ProcessPrinter se ejecuta y el globo se cierra.

Sub selectPrinter()
Set bln = Assistant.NewBalloon
With bln
    .Heading = "Select a Printer."
    .Labels(1).Text = "Network Printer"
    .Labels(2).Text = "Local Printer"
    .Labels(3).Text = "Local Color Printer"
    .BalloonType = msoBalloonTypeButtons
    .Mode = msoModeModeless
    .Callback = "ProcessPrinter"
    .Show
End With
End Sub

Sub ProcessPrinter(bln As Balloon, lbtn As Long, _
 lPriv As Long)
    Assistant.Animation = msoAnimationPrinting
    Select Case lbtn
    Case -1
        ' Insert network printer-specific code.
    Case -2
        ' Insert local printer-specific code.
    Case -3
        ' Insert color printer-specific code.
    End Select
    bln.Close
End Sub