wir haben eine mehrseitige Excel-Tabelle die den Tabellen-Kopf als "Wiederholungszeilen oben" auf jede Seite drucken soll.
Wird Excel mit der Tabelle geöffnet und die Tabelle gedruckt ist die Ausgabe immer korrekt.
Beim Ausdruck über Xbase++ mit dem Com-Objekt ist die Seiteneinteilung korrekt der Blattkopf wird auf den Folgeseiten aber nicht gedruckt, die Zeilen beginnen ganz oben auf der Seite und unten auf den Folgeseiten bleibt der benötigte Platz des Tabellenkopfs leer.
Für den Ausdruck wird folgender Code verwendet:
Code: Alles auswählen
function PrintExcelxls( cSourceFile, aSheet )
local oExcel, oWorkbook, bAlterFehlerblock := ErrorBlock()
local a, ret_val := .f., oSheet
default aSheet to {1}
oExcel := CreateObject( "Excel.Application" )
IF Empty( oExcel )
msgbox("MS-Excel ist nicht oder nicht korrekt installiert!" + chr(13) + "Fehlernr.: " + ltrim(str(ComLastError())) )
return(ret_val)
ENDIF
ErrorBlock({|oError|Excelfehler(oError)})
begin sequence
oExcel:Application:DisplayAlerts := .F.
oExcel:Application:Workbooks:new()
oExcel:visible := .f. // excel versteckt laden
oWorkbook := oExcel:application:workbooks:open(cSourceFile)
for a = 1 to len(aSheet)
oSheet := oWorkbook:Worksheets(aSheet[a]) // Referenz auf das zu druckende Worksheet
oSheet:select()
oSheet:PrintOut()
next
sleep(50)
oExcel:Application:Quit()
oExcel:destroy()
end sequence
ErrorBlock(bAlterFehlerblock)
return(ret_val)
Hat jemand eine Idee was hier beim Ausdruck schief läuft?