Hallo zusammen,
vielleicht hat jemand die zündende Idee für mich oder kann mir sagen was ich falsch mache.
Ich möchte wie der Titel schon sagt eine Exceldatei öffnen und vom Aktiven Sheet ein Ausdruck machen. Soweit kein Problem. In diesen Sheets ist aber ein Druckbereich vordefiniert. Und dieser wird ignoriert.
Ich habe es erst mit der Funktion _Excel_Print probiert. Aber da wird der in der Exceldatei vorgegebene Bereich ignoriert. Dann habe ich versucht alla Tastaturmakro die Excel eigene Printfunktion zu benutzen und mit Strg+P das Fenster geöffnet und gedruckt. Ergebnis dasselbe. Führe ich dies von Hand aus klappts.
Jetzt würde ich gerne den Druckbereich auslesen um diesen der _Excel_Print übergeben zu können. Aber wenn ich:
Func PrintExlFile($xlsFile, $pdfFile)
; Create application object and open an example workbook
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_Print Example", "Error creating the Excel application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, $xlsFile, True)
If @error Then
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_Print Example", "Error opening workbook '" & @ScriptDir & "\Extras\_Excel4.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; *****************************************************************************
; Print range A1:B3 of the active worksheet to the default printer.
; *****************************************************************************
$oWorkbook.Sheets("MeinSheet").Activate
MsgBox(1,"PrintArea",$oExcel.ActiveSheet.PageSetup.PrintArea)
_Excel_Print($oExcel, $oExcel.ActiveSheet.PageSetup.PrintArea,1,Default,Default,$printVon,$printBis)
Alles anzeigen
ausführe bekomme ich nicht den Bereich angezeigt, sondern er scheint den Bereich zu überschreiben. Wenn ich dann aufs Excel klicke und mir dort den Bereich anzeigen lasse ist dieser wirklich leer. Schließe ich die Datei ohne zu speichern und öffne sie wieder kann ich sehen das definitiv ein Druckbereich angegeben ist.
Was mache ich falsch beim auslesen des Druckbereichs? Es ist doch ein property. Kann ich das nicht einfach auslesen?
Die MSDN Seite von PrintArea
Ein Post hier aus dem Forum bei dem PrintArea beschrieben wird...
Gruß
Smurf