Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 1649 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
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 2010 Zellen mit bestimmten Inhalt mit Makro formartierten (5)

Frage von packmann2016 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

(1)

Information von BassFishFox zum Thema Datenschutz ...

Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (27)

Information von SeaStorm zum Thema Utilities ...

Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (19)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

Windows Netzwerk
Dateien mit Intelligenz per GPO ins Programmverzeichnis (14)

Frage von erwin.t zum Thema Windows Netzwerk ...

LAN, WAN, Wireless
gelöst 802.1X-Authentifizierung (14)

Frage von Alex29 zum Thema LAN, WAN, Wireless ...