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, 1689 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
Excel Makro zum Kopieren von Daten aus Mappe1 in Mappe2 (3)

Frage von Alex993 zum Thema Microsoft Office ...

VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (12)

Frage von jensgebken zum Thema Windows Server ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...