Hier ist noch mein Quelltext. Habe ihn mir aus TrickTresor gezogen. Im Bereich "Excel Speichern" sollte was rein, was funzt:
REPORT z_ole_word.
*====================================================================*
* *
*
http://www.tricktresor.de *
* *
*====================================================================*
*
* Durchführen einer Berechnung in einem Excel-Arbeitsblatt.
*
* Erstellen Sie eine Excel-Datei, in der in Zelle
* C1 die Formel "=A1+B1" steht.
* Die Zellen A1 und B1 werden durch das Programm übergeben.
* Die Zelle C1, in der dann das Ergebnis steht, wird wieder ausgelesen
* und ausgegeben.
*
* Mit freundlicher Unterstützung von OliverS
*====================================================================*
* Excel-Sheet
PARAMETERS: var_file(30) DEFAULT 'C:/Laufwerk D/OLE.xls' LOWER CASE.
PARAMETERS: var_save(30) DEFAULT 'C:/Laufwerk D/OLE2.xls' LOWER CASE.
* Ergebnis
DATA: result(50).
TYPE-POOLS ole2 .
* Handles für OLE Objekte
DATA:
h_excel TYPE ole2_object, " Excel object
h_book TYPE ole2_object, " list of workbooks
h_active_window TYPE ole2_object,
cell_out TYPE ole2_object, " cell
cell_in TYPE ole2_object. " cell
*----------------------------------------------------------
START-OF-SELECTION.
* start Excel
CREATE OBJECT h_excel 'EXCEL.APPLICATION'.
* Excel nicht sichtbar ausführen
SET PROPERTY OF h_excel 'Visible' = 0.
* Arbeitsblatt auswählen
CALL METHOD OF h_excel 'Workbooks' = h_book.
* bestehendes File öffnen
CALL METHOD OF h_book 'OPEN'
EXPORTING
#1 = var_file.
*-----------------------------------------------------------
* 1. Zelle, an die Wert übergeben wird (A1)
CALL METHOD OF h_excel 'Cells' = cell_out
EXPORTING
#1 = 1 "Zeile
#2 = 1. "Spalte
* Zellinhalt A1 setzen
SET PROPERTY OF cell_out 'Value' = '200'.
*-----------------------------------------------------------
* 2. Zelle, an die Wert übergeben wird (B2)
CALL METHOD OF h_excel 'Cells' = cell_out
EXPORTING
#1 = 1 "Zeile
#2 = 2. "Spalte
* Zellinhalt B1 setzen
SET PROPERTY OF cell_out 'Value' = '500'.
* Object freigeben
FREE OBJECT cell_out.
******** Excel Speichern
CALL METHOD OF h_excel 'SaveAs' EXPORTING #1 = var_save.
************************
* Excel beenden
*-----------------------------------------------------------------------
* see
http://support.microsoft.com/default.as ... ;de;503541
* Close without saving
* get active window
CALL METHOD OF h_excel 'ACTIVEWINDOW' = h_active_window.
* set active_window visible
SET PROPERTY OF h_active_window 'VISIBLE' = 1.
*-----------------------------------------------------------------------
* close Excel
CALL METHOD OF h_excel 'QUIT'.
FREE OBJECT: h_excel, h_active_window, h_book.