Herbers Excel-Forum - das Archiv

Druckmakro-Aufzeichnung

Bild

Betrifft: Druckmakro-Aufzeichnung
von: Matthias L

Geschrieben am: 25.04.2015 17:53:36

Hallo
Kann mir jemand erklären was hier der Rekorder aufgezeichnet hat?

ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"

Wenn ich einfach nur schreib:

ExecuteExcel4Macro "PRINT(1)"

druckt Excel ja auch.
Was bedeuten 1,,,1,,,,,,,,2 die vielen Komma und das True / False?

"PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)
Gruß Matthias

Bild

Betrifft: AW: Druckmakro-Aufzeichnung
von: fcs

Geschrieben am: 27.04.2015 11:03:07
Hallo Mathias,
diese Excel4Macro ist eigentlich ein relikt der Excel-Vergangenheit, aber aus Gründen, die nur MS-Programmierer kennen, wird unter der 2007er-Version beim Recorder noch das Excel4-Makro verwendet, statt der Methode PrintOut.
Die Reihenfolge der vom Makro verwendeten Parameter kenne ich leider nicht. Wenn du mit den Einstellungen im Druckmenü rumprobierst, dann findest du noch einige Parameter heraus.
Die Tatsache, dass das Makro auch ohne Parameter funktioniert, liegt daran, dass alle Druckparameter optional sind.
Ich konnte bei einer Kurzrecherche die Parameter auf die schnelle nicht herausfinden.
Verwende in Makros zum Drucken die PrintOut-Methode. Da findest du unter der VBA-Hilfe auch die Parameter.
Nachfolgend ein paar Beispiele:
Sub Drucken()
'Parameter von PrintOut
'Ausdruck.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, _
PrToFileName, IgnorePrintAreas)
Dim strDrucker As String
'aktives Blatt
ActiveSheet.PrintOut preview:=True, Copies:=1
'bestimmtes Blatt auf aktivem Drucker drucken
Activeworkbooks.Sheets("Tabelle1").PrintOut
'gesamte Arbeitsmappe
ActiveWorkbook.PrintOut preview:=True
'gruppierte Blätter
ActiveWorkbook.Sheets(Array("Tabelle1", "Tabelle2")).PrintOut preview:=True
ActiveSheet.Select 'Gruppierung aufheben
'selektierte Blätter auf bestimmtem Drucker ausgeben
strDrucker = Application.ActivePrinter 'aktiven Drucker merken
ActiveWindow.SelectedSheets.PrintOut preview:=True, _
ActivePrinter:="\\S150A0002\P100A0068 auf Ne06:"
Application.ActivePrinter = strDrucker
'Markierten Zellbereich drucken
Selection.PrintOut
End Sub
Gruß
Franz

Bild

Betrifft: Danke für Deinen Beitrag ...owT
von: Matthias L
Geschrieben am: 27.04.2015 23:02:03

 Bild
Bewerten Sie hier bitte das Excel-Portal