Sets the automation pointer of an OLEObject object to the value of the automation pointer of another object.
OLEObject
oleobject.SetAutomationPointer ( object )
Argument |
Description |
---|---|
oleobject |
The name of an OLEObject variable whose automation pointer you want to set. You cannot specify an OLEObject that is the Object property of an OLE control. |
object |
The name of an OLEObject variable that contains the automation pointer you want to use to set the pointer value in oleobject. |
Integer. Returns 0 if it succeeds and -1 if the object does not contain a valid OLE automation pointer.
SetAutomationPointer assigns the underlying automation pointer used by OLE into a descendant of OLEObject.
This example creates an OLEObject variable and calls ConnectToNewObject to create a new Excel object and connect to it. It also creates an object of type oleobjectchild (which is a descendant of OLEObject) and sets the automation pointer of the descendant object to the value of the automation pointer in the OLEObject object. Then it sets a value in the worksheet using the descendent object, saves it to a different file, and destroys both objects:
OLEObject ole1
oleobjectchild oleChild
integer rs
ole1= CREATE OLEObject
rs = ole1.ConnectToNewObject("Excel.Application")
oleChild = CREATE oleobjectchild
rs = oleChild.SetAutomationPointer(ole1 )
IF ( rs = 0 ) THEN
oleChild.workbooks.open("d:\temp\expenses.xls")
oleChild.cells(1,1).value = 11111
oleChild.activeworkbook.saveas( &
"d:\temp\newexp.xls")
oleChild.activeworkbook.close()
oleChild.quit()
END IF
ole1.disconnectobject()
DESTROY oleChild
DESTROY ole1