Ging mit ocx2 und ocx3a.
'****************** ocxPackage2-Demo: Excel 2
'****************** XProfan 10 / Windows XP
'****************** © by TCS (Uwe "Pascal" Niemeier) 04'2007
'--Alle Angaben ohne Gewähr!
'--Nutzung auf eigene Gefahr!
'--Funktion:
'--Es wird innerhalb einer Schleife abgefragt, ob eine Instanz von Excel
'--gestartet wurde. Sobald das der Fall ist, wird eine Verbindung damit hergestellt,
'--die erste Arbeitsmappe ermittelt, das erste Blatt davon
'--beschriftet und einige Zellen mit Text gefüllt.
'--Danach wird das Gespeichert-Flag gesetzt, um eine Rückfrage beim Beenden zu verhindern.
window 10,10-500,500
usermessages 16
$H Windows.ph
$H ocx2.ph
$I ocx2.inc
ocxInit()
declare App&,Excel&,ID$
ID$=MultiToWideEx("Excel.Application")
~CLSIDFromProgID(addr(ID$),IID#)
settimer 500
while 1
print "Bitte Excel starten oder Programm beenden!"
sleep 500
cls
~GetActiveObject(IID#,0,addr(App&))
case App&:break
waitinput
case %umessage=16:break
endwhile
killtimer
if App&
Excel&=QueryInterface(App&,~IID_IDispatch)
ocxRelease(App&)
var WorkBooks&=ocxGet(Excel&,"WorkBooks")
var Book&=ocxGet(WorkBooks&,"item",1)
var Sheet&=ocxGet(Book&,"ActiveSheet")
var Range&=ocxGet(Sheet&,"Range","*A1;B2;C3")
ocxPut(Excel&,"Visible",1)
ocxPut(Sheet&,"Name","*Made by Profan")
ocxPut(Range&,"Value","*Test")
ocxPut(Book&,"Saved",1)
ocxRelease(Range&,Sheet&,Book&,WorkBooks&,Excel&)
endif
ocxDeInit()
Alles anzeigen
'****************** ocxPackage2-Demo: Excel 1
'****************** XProfan 10 / Windows XP / Office 2003
'****************** © by TCS (Uwe "Pascal" Niemeier) 04'2007
'--Alle Angaben ohne Gewähr!
'--Nutzung auf eigene Gefahr!
'--Funktion:
'--Es wird eine Instanz von Excel gestartet und sichtbar gemacht.
'--Danach wird eine neue Arbeitsmappe angelegt, das erste Blatt davon
'--beschriftet und einige Zellen mit Text gefüllt.
'--Danach wird das Gespeichert-Flag gesetzt, um eine Rückfrage beim Beenden zu verhindern.
window 100,10-500,500
usermessages 16
$H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
ocxInit()
var Excel&=ocxCreate("Excel.Application")
var WorkBooks&=ocxGet(Excel&,"WorkBooks")
var NewBook&=ocxMethod(WorkBooks&,"Add")
var Sheet&=ocxGet(NewBook&,"ActiveSheet")
var Range&=ocxGet(Sheet&,"Range","A1")
ocxPut(Excel&,"Visible",1)
ocxPut(Sheet&,"Name","Made by Profan")
ocxPut(Range&,"Value","123")
Range&=ocxGet(Sheet&,"Range","A11")
ocxPut(Range&,"Value","223")
ocxPut(NewBook&,"Saved",1)
ocxRelease(Range&,Sheet&,NewBook&,WorkBooks&,Excel&)
ocxDeInit()
Alles anzeigen