Compartir a través de


DoVerb (Método)

Ejecuta un verbo sobre el objeto especificado.

Object.DoVerb[(Verb)]

Parámetros

  • Verb
    El verbo que se va a ejecutar sobre el objeto incluido en el control OLE Container. Si no se especifica ninguno, se ejecutará el verbo predeterminado. El valor de este argumento puede ser uno de los verbos estándar admitidos por todos los objetos o un índice de la matriz de propiedad ObjectVerbs. Cada objeto puede aceptar su propio conjunto de verbos.

    Los valores siguientes representan verbos estándar aceptados por todos los objetos:

    Valor Acción
    0 La acción predeterminada para el objeto.
    –1 Activa el objeto para su modificación. Si la aplicación que creó el objeto admite la activación in situ, el objeto se activará en el control OLE Container.
    –2 Abre el objeto en una ventana independiente de aplicación. Si la aplicación que creó el objeto admite la activación in situ, el objeto se activará en su propia ventana.
    –3 Para los objetos incrustados, oculta la aplicación que creó el objeto.
    –4 Si el objeto admite la activación in situ, activa el objeto para dicho tipo de activación y muestra cualquier herramienta de interfaz de usuario. Si el objeto no admite la activación in situ, el objeto no se activará y se producirá un error.
    –5 Si el usuario lleva el enfoque al control OLE Container, crea una ventana para el objeto y prepara el mismo para su modificación. Se producirá un error si el objeto no admite la activación in situ con un único clic del mouse.
    –6 Se usa cuando se activa el objeto para su modificación con el fin de descartar todos los cambios que la aplicación del objeto puede deshacer.

Observaciones

Si establece la propiedad AutoActivate como 2 (Doble clic), el control OLE Container activará automáticamente el objeto actual cuando el usuario haga doble clic en el control.

Sugerencia   Si bien puede usar el nombre del verbo (edit, open, play, etc.) para especificar el verbo que desea usar con DoVerb, es mucho más rápido usar el índice (0, 1, 2, etc.).

Ejemplo

El ejemplo siguiente agrega un control OLE Container a un formulario, y utiliza las propiedades OleClass y DocumentFile para especificar Microsoft Excel como el servidor de Automatización y una hoja de cálculo de Microsoft Excel como el archivo que se va a modificar.

La propiedad DocumentFile especifica una hoja de cálculo denominada Hoja1.xls en el directorio EXCEL de la unidad C. Este ejemplo no funcionará adecuadamente si el archivo y el directorio especificados en la propiedad DocumentFile no existen; quizás sea necesario modificar la propiedad DocumentFile para especificar un directorio y un archivo de hoja de cálculo existentes.

* El método DoVerb se usa para activar la hoja de cálculo para su modificación.

*frmMyForm = CREATEOBJECT('form')  && Create a form
*frmMyForm.Closable = .F.  && Disable the Control menu box

frmMyForm.AddObject('cmdCommand1','cmdMyCmdBtn')  && Add Command button
frmMyForm.AddObject("oleObject","oleExcelObject")  && Add OLE object

frmMyForm.cmdCommand1.Visible=.T.  && Display the "Quit" Command button

frmMyForm.oleObject.Visible=.T.  && Display the OLE control
frmMyForm.oleObject.Height = 50  && OLE control height

frmMyForm.Show  && Display the form

frmMyForm.oleObject.DoVerb(-1)  && -1 for Edit

READ EVENTS  && Start event processing

DEFINE CLASS oleExcelObject as OLEControl
   OleClass ="Excel.Sheet"  && Server name
   DocumentFile = "C:\EXCEL\BOOK1.XLS"  && This file must exist 
ENDDEFINE

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 210  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close form
ENDDEFINE

Vea también

OLE Bound (Control) | OLE Container (Control)

Se aplica a: OLE Bound (Control) | OLE Container (Control)