Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Excel-Druck-Makro

Frage Microsoft Microsoft Office

Mitglied: MasterBaiter

MasterBaiter (Level 1) - Jetzt verbinden

07.01.2015 um 11:36 Uhr, 1557 Aufrufe, 5 Kommentare, 1 Danke

Hallo und frohes Neues.

Folgende Situation:

Excel 2010;Win7;
Excel Sheet´s sollen im Querformat gedruckt werden, es lassen sich aber keine Druckeinstellungen speichern,
wenn man das nächste Sheet öffnet, sind diese dann verworfen.
Ich habe nun ein Makro erstellt indem es mir nach dem drücken von Strg+P das Format auf Quer stellt und druckt.
Soweit so gut.
(Wenn es mehrere Sheets betrifft, öffnet Excel für jedes ein Fenster, was man dann nochmal schließen muss nach dem Drucken, nach 20 fängt´s an zu nerven)

Meine Frage ist folgende:

Kann man dieses Prozedere eleganter gestaltet?
Zu Beispiel, dass das Makro das schließen des aktuellen Fensters mit einbezieht?
Oder ich eine Möglichkeit habe, per drag&drop auf eine Datei den druck aller Dokumente mit einer Vorgabe zu starten, so wie bei einer .bat?

Ist jemand da draußen der weiter helfen kann?

Danke
Gruß

Mitglied: colinardo
07.01.2015, aktualisiert um 12:35 Uhr
Moin,
gabs schon mal, schaust du in diesen Thread für eine Lösung für dein Anliegen:
VBS - Exceldatei öffnen, drucken und schließen

Grüße Uwe
Bitte warten ..
Mitglied: MasterBaiter
07.01.2015, aktualisiert um 13:09 Uhr
So schaut das Makro aus:
(Ich weiß leider nicht wie man mit VBA arbeitet)

01.
Sub Querdruck() 
02.
03.
' Querdruck Makro 
04.
05.
' Tastenkombination: Strg+p 
06.
07.
    Application.PrintCommunication = False 
08.
    With ActiveSheet.PageSetup 
09.
        .PrintTitleRows = "" 
10.
        .PrintTitleColumns = "" 
11.
    End With 
12.
    Application.PrintCommunication = True 
13.
    ActiveSheet.PageSetup.PrintArea = "" 
14.
    Application.PrintCommunication = False 
15.
    With ActiveSheet.PageSetup 
16.
        .LeftHeader = "" 
17.
        .CenterHeader = "" 
18.
        .RightHeader = "" 
19.
        .LeftFooter = "" 
20.
        .CenterFooter = "" 
21.
        .RightFooter = "" 
22.
        .LeftMargin = Application.InchesToPoints(0.7) 
23.
        .RightMargin = Application.InchesToPoints(0.7) 
24.
        .TopMargin = Application.InchesToPoints(0.787401575) 
25.
        .BottomMargin = Application.InchesToPoints(0.787401575) 
26.
        .HeaderMargin = Application.InchesToPoints(0.3) 
27.
        .FooterMargin = Application.InchesToPoints(0.3) 
28.
        .PrintHeadings = False 
29.
        .PrintGridlines = False 
30.
        .PrintComments = xlPrintNoComments 
31.
        .PrintQuality = 600 
32.
        .CenterHorizontally = False 
33.
        .CenterVertically = False 
34.
        .Orientation = xlLandscape 
35.
        .Draft = False 
36.
        .PaperSize = xlPaperA4 
37.
        .FirstPageNumber = xlAutomatic 
38.
        .Order = xlDownThenOver 
39.
        .BlackAndWhite = False 
40.
        .Zoom = 100 
41.
        .PrintErrors = xlPrintErrorsDisplayed 
42.
        .OddAndEvenPagesHeaderFooter = False 
43.
        .DifferentFirstPageHeaderFooter = False 
44.
        .ScaleWithDocHeaderFooter = True 
45.
        .AlignMarginsHeaderFooter = True 
46.
        .EvenPage.LeftHeader.Text = "" 
47.
        .EvenPage.CenterHeader.Text = "" 
48.
        .EvenPage.RightHeader.Text = "" 
49.
        .EvenPage.LeftFooter.Text = "" 
50.
        .EvenPage.CenterFooter.Text = "" 
51.
        .EvenPage.RightFooter.Text = "" 
52.
        .FirstPage.LeftHeader.Text = "" 
53.
        .FirstPage.CenterHeader.Text = "" 
54.
        .FirstPage.RightHeader.Text = "" 
55.
        .FirstPage.LeftFooter.Text = "" 
56.
        .FirstPage.CenterFooter.Text = "" 
57.
        .FirstPage.RightFooter.Text = "" 
58.
    End With 
59.
    Application.PrintCommunication = True 
60.
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ 
61.
        IgnorePrintAreas:=False 
62.
End Sub
Bitte warten ..
Mitglied: colinardo
07.01.2015, aktualisiert um 16:01 Uhr
Zitat von MasterBaiter:
(Ich weiß leider nicht wie man mit VBA arbeitet)
na das haben wir hier ja besonders gerne ...

Folgendes Script als *.vbs speichern und das(die) Excelfiles via Drag n' Drop auf das VBS-Script ziehen. Für deinen Test ist Excel sichtbar geschaltet. Das lässt sich aber auch unsichtbar schalten indem man Zeile 11 auf False stellt.
01.
Dim objExcel, fso, files, filename, wb, ws 
02.
Set files = WScript.Arguments 
03.
If files.Count = 0 Then  
04.
	MsgBox "Es wurde keine Excel-Datei übergeben",vbExclamation 
05.
	WScript.Quit 
06.
End If 
07.
'Objekte erzeugen 
08.
Set fso = CreateObject("Scripting.FileSystemObject") 
09.
set objExcel = CreateObject("Excel.Application") 
10.
'Excel sichtbar machen 
11.
objExcel.visible = True 
12.
'Dialoge unterdrücken 
13.
objExcel.DisplayAlerts = False 
14.
For i = 0 To files.Count -1 
15.
	filename = files(i) 
16.
	If fso.FileExists(filename) Then 
17.
		' Datei öffnen 
18.
		Set wb = objExcel.Workbooks.Open(filename,,True) 
19.
		'gewünschtes Worksheet drucken 
20.
		Set ws = wb.Worksheets(1) 
21.
		objExcel.PrintCommunication = False 
22.
		With ws.PageSetup 
23.
			.PrintTitleRows = "" 
24.
        	.PrintTitleColumns = "" 
25.
        	.PrintArea = "" 
26.
        	.LeftHeader = "" 
27.
	        .CenterHeader = "" 
28.
	        .RightHeader = "" 
29.
	        .LeftFooter = "" 
30.
	        .CenterFooter = "" 
31.
	        .RightFooter = "" 
32.
	        .LeftMargin = objExcel.InchesToPoints(0.7) 
33.
	        .RightMargin = objExcel.InchesToPoints(0.7) 
34.
	        .TopMargin = objExcel.InchesToPoints(0.787401575) 
35.
	        .BottomMargin = objExcel.InchesToPoints(0.787401575) 
36.
	        .HeaderMargin = objExcel.InchesToPoints(0.3) 
37.
	        .FooterMargin = objExcel.InchesToPoints(0.3) 
38.
	        .PrintHeadings = False 
39.
	        .PrintGridlines = False 
40.
	        .PrintComments = -4142 
41.
	        .PrintQuality = 600 
42.
	        .CenterHorizontally = False 
43.
	        .CenterVertically = False 
44.
	        .Orientation = 2	'Landscape 
45.
	        .Draft = False 
46.
	        .PaperSize = 9	'A4 
47.
	        .FirstPageNumber = -4105 
48.
	        .Order = 1 
49.
	        .BlackAndWhite = False 
50.
	        .Zoom = 100 
51.
	        .PrintErrors = 0 
52.
	        .OddAndEvenPagesHeaderFooter = False 
53.
	        .DifferentFirstPageHeaderFooter = False 
54.
	        .ScaleWithDocHeaderFooter = True 
55.
	        .AlignMarginsHeaderFooter = True 
56.
	        .EvenPage.LeftHeader.Text = "" 
57.
	        .EvenPage.CenterHeader.Text = "" 
58.
	        .EvenPage.RightHeader.Text = "" 
59.
	        .EvenPage.LeftFooter.Text = "" 
60.
	        .EvenPage.CenterFooter.Text = "" 
61.
	        .EvenPage.RightFooter.Text = "" 
62.
	        .FirstPage.LeftHeader.Text = "" 
63.
	        .FirstPage.CenterHeader.Text = "" 
64.
	        .FirstPage.RightHeader.Text = "" 
65.
	        .FirstPage.LeftFooter.Text = "" 
66.
	        .FirstPage.CenterFooter.Text = "" 
67.
	        .FirstPage.RightFooter.Text = "" 
68.
		End With 
69.
		objExcel.PrintCommunication = True 
70.
 
71.
		'Worksheet drucken 
72.
		ws.PrintOut ,,1,,,,True,,False 
73.
		'Workbook wieder schließen 
74.
		wb.Close False 
75.
	End If 
76.
Next 
77.
'Warnmeldungen wieder aktivieren und Excel schließen 
78.
objExcel.DisplayAlerts = True 
79.
objExcel.Quit 
80.
'Objekte releasen 
81.
Set objExcel = Nothing 
82.
Set fso = Nothing
Bitte warten ..
Mitglied: MasterBaiter
07.01.2015 um 15:49 Uhr
Super Sache
...
Genau das was ich (fast) brauche.
*leider druckt er es nicht im Querformat und schwarz-weiß, der Druck ist aber auf "farbig" eingestellt.

Auch als ich .Orientation = 2 'Landscape mit xlLandscape vertauscht hatte...
Bitte warten ..
Mitglied: colinardo
07.01.2015, aktualisiert um 16:12 Uhr
Zitat von MasterBaiter:
Genau das was ich (fast) brauche.
*leider druckt er es nicht im Querformat und schwarz-weiß, der Druck ist aber auf "farbig" eingestellt.
geht hier einwandfrei... vermutlich falsch kopiert.
Auch als ich .Orientation = 2 'Landscape mit xlLandscape vertauscht hatte...
die Konstanten gibts in VBS nicht !
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel 2010 Makro Ausgabe in bestimmter Tabelle ausgeben (6)

Frage von dressa zum Thema Microsoft Office ...

VB for Applications
Fusszeile mit PageSetup mit VBA in Excel Makro funktioniert nicht? (5)

Frage von HerrHart zum Thema VB for Applications ...

VB for Applications
Excel Makro zum Suchen von Spalten und exportieren in CSV (3)

Frage von Raptox zum Thema VB for Applications ...

Microsoft Office
gelöst Excel Makro zum Sortieren von Spalten an größeres Dokument Anpassen (2)

Frage von Rolfor zum Thema Microsoft Office ...

Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(7)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(10)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Dir tc Befehl unter Windows 10 macht Probleme (14)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (10)

Frage von ahaeuser zum Thema Windows Server ...