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, 1420 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
gelöst Zelle in Excel per Makro auswählen (7)

Frage von Enriqe 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 ...

Microsoft Office
gelöst CSV-Datei mit einem VBA Makro in Excel einlesen und leicht anpassen (5)

Frage von JoSiBa zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...