Hier der Code:
Code: Alles auswählen
IncludeFile "exelwrapper.pb"
was$=InputRequester("Exel","Bitte geben Sie ' L ' für Lesen ein,keine Eingabe: Schreiben","")
If UCase(was$)="L"
lesen=1
Else
schreiben=1
EndIf
File$="C:\tmp\test.xls"
;ActiveX-Script zum öffnen
;Set pXlApp = CreateObject ("Excel.Application")
;Set pXlBooks = pXlApp.Workbooks.Open(Ex_Datei)
;set pXlSheets = pXlApp.ActiveWorkBook.WorkSheets("Tabelle1")' Name des 1. Tabellenblattes
;ActiveX-Script zum schreiben
;Set pxlApp = CreateObject("Excel.Application")
;Set pxlBooks = pxlApp.Workbooks.Add
;Set pxlSheets = pxlBooks.Worksheets.Add
;pxlSheet.Cells(1, 1).Value = "hello"
;ActiveX-Script zum schliessen
;pxlSheet.SaveAs "test.xls"
;pxlBook.Close
;pxlApp.Quit
;Exel_Object erzeugen
pXlApp.IDispatch = SetAppObj("Excel.Application") ; create the object Excel -> Set pXlApp = Excel.Application
If pXlApp = 0
Debug LastMessage
End
EndIf
;Exel sichtbar machen
Dim varArr.VARIANT(1)
varArr(0)\vt = #VT_I4 ;Variant-Value
varArr(0)\lVal = 1 ;for TRUE (=1)
AutoWrap(#DISPATCH_PROPERTYPUT, pXlApp, "Visible", 1); put the value "TRUE" to the property Visible -> pXlApp.Visible = True
VariantClear_(varArr(0))
;Datei / Workbooks_Object erzeugen
pXlBooks.IDispatch = SetComObj(pXlApp, "Workbooks", 0)
If lesen=1 ; Datei öffnen
File$ = "C:\tmp\test.xls"
varArr(0)\vt = #VT_BSTR
varArr(0)\bstrVal = Ansi2Uni(File$);File$=xls-Datei
AutoWrap(#DISPATCH_METHOD, pXlBooks, "Open", 1)
VariantClear_(varArr(0))
EndIf
If schreiben=1 ;Daten in Exel schreiben
;Methode Workbooks.Open ausführen
pXlBooks.IDispatch
pvResult.VARIANT
VariantInit_(@pvResult);
AutoWrap(#DISPATCH_PROPERTYGET, pXlBooks, "Add", 0)
pXlBooks = pvResult\pdispVal
;Blatt / Worksheet_Object erzeugen
pxlSheets.IDispatch = SetComObj(pXlBooks, "Worksheets", 0)
;Methode Blatt hinzufügen
pxlSheets.IDispatch
pvResult.VARIANT
VariantInit_(@pvResult);
AutoWrap(#DISPATCH_PROPERTYGET, pxlSheets, "Add", 0)
pxlSheets = pvResult\pdispVal
;Eintrag in einer Zelle
XLPutCellsStrValue(pXlSheets, 1, 3, "blabla")
EndIf