Top-Themen

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

Mehrere Dokumente per Batch drucken bzw. in Word drucken im Querformat!

Frage Entwicklung Batch & Shell

Mitglied: D.T.Soko

D.T.Soko (Level 1) - Jetzt verbinden

03.01.2008, aktualisiert 04.01.2008, 11300 Aufrufe, 5 Kommentare

Hallo zusammen,

folgende Probleme:

  1. Ich weis nicht ob ich hier richtig bin!
  2. Ich will eine oder mehrere "langweilige" Textdatei/en die im Querformat erstellt wurde atomtatisiert ausdrucken.
Der Ausdruck soll in eine Batchdatei eingearbeitet werden, die vom User bei Bedarf aufgerufen wird.
Die Textdateien sehen folgendermaßen aus:

xxxxxxx.yzv
x = irgendeine kombination | Endung ist immer gleich

Lösungsansatz:
01.
Print /d:\\server\drucker *.yzv
Ergebnis:
Der Ausdruck erfolgt im Hochformat und die Daten werden auf der rechten Seite Abgeschnitten!
Den Drucker umstellen auf Querformat brachte auch nichts!

Neue Lösung muss her; zumindest eine die die Daten nicht auf der rechten Seite abschneidet:
Forumssuche!

In folgendem Artikel hab ich dann was gefunden:
Word_Document_durch_Batch_drucken

Erstes Problem:
Der Aufruf funktioniert nur richtig wenn es sich um eine *.doc - Datei handelt.
Lösung:
Folgender Batch: (ist auch irgendwo aus dem Forum)
01.
 ::----Umbenennen der *.YZV Dateien in *.DOC (Damit das Ding auch druckt!!!)------:: 
02.
 Set "GutDir=c:\DTAS" 
03.
 PushD %GutDir% 
04.
 set "endung=.doc" 
05.
 For /F %%i in ('dir /b *.yzv') do call :RenameItAll %%~ni %%~xi 
06.
 ::goto :eof 
07.
 :RenameItAll 
08.
 Set "OldName=%1" 
09.
 Set "NewName=%OldName%%endung%" 
10.
 ren %OldName%%2 %NewName%
Zweites Problem das Öffnen der Datei:
Habe dazu den script von bastla (4tes RE: ) genommen und über den unten aufgeführten Code aufgerufen.

::----Aufruf VB-Script zum Drucken in Word -----::
CScript //nologo "C:\DTA\PrintAllDocs.vbs" "C:\DTAS"

Das Problem, dass er Rechts einfach die Daten vom Dokument abschneidet wurde damit behoben. Aber fürs Auge ist das nichts.

Und nun das eigentliche Problem:
Wie krieg ich das Ding dazu im Querformat zu drucken?

Bin für alle Anregungen offen.

mfg
d.t.soko
Mitglied: colinardo
03.01.2008 um 11:03 Uhr
mit dem folgenden Visual Basic Script kannst du alle Dateien mit der Endung *.doc in einem angegebenen Verzeichnis auf dem Standard-Drucker ausdrucken:
Der Hinweis für die Einstellung für Hoch- oder Querformat steht im Code

01.
 
02.
folderToPrint = InputBox("Bitte Verzeichnis zum Ausdrucken angeben:") 
03.
set objFS = CreateObject("Scripting.FileSystemObject") 
04.
set objFolder = objFS.GetFolder(folderToPrint) 
05.
 
06.
'Fuer Word Dateien------------------- 
07.
'----------------------------------- 
08.
 
09.
set objWord = CreateObject("Word.Application") 
10.
objWord.visible = true '// "true" wenn Applickation sichtbar sein soll, "false" wenn nicht 
11.
for each doc in objFolder.Files 
12.
	if LCase(Right(doc.Name,4))= ".doc" then 
13.
		set open_doc = objWord.Documents.Open(doc.path) 
14.
                open_doc.PageSetup.Orientation = wdOrientLandscape	'Wenn Hochformat gewünscht --> "wdOrientPortrait" 
15.
		open_doc.PrintOut 
16.
		open_doc.close	 
17.
	end if 
18.
next 
19.
wscript.Sleep 2000 
20.
objWord.quit 
21.
 
22.
 
Bitte warten ..
Mitglied: bastla
03.01.2008 um 13:17 Uhr
Hallo D.T.Soko!

Vielleicht etwas OT, aber: Zum Umbenennen aller .yzv-Dateien nach .doc (was ich ohnehin nicht sinnvoll finde, da sich der Dateityp auch im angesprochenen Script leicht anpassen lässt - siehe Zeile If LCase(Mid(oFile.Name, InstrRev(oFile.Name, "."))) = ".doc" Then) würde genügen:
01.
ren *.yzv *.doc
Grüße
bastla
Bitte warten ..
Mitglied: D.T.Soko
04.01.2008 um 12:25 Uhr
Hallo zusammen,

@All
Danke für die schnelle Hilfe bin bloß gestern nicht mehr dazu gekommen.
Nach reichlichem probieren hab ich festellen müssen das auch das mit der "wdOrientPortrait" nicht hinhaut. Mein Drucker druckt immernoch Hochformat, komme was da will.

@bastla
Dein Script hat bei mir immer einen Fehler verursacht wenn die Datei nicht die Endung *.doc hat, darum das Umbenen.
01.
 ren *.yzv *.doc 
Lol... warum einfach wenns auch kompliziert geht..... *g*

So und nach ein bisschen Googeln hab ich dann folgendes gefunden, und mit Hilfe meines "fundierten Halbwissens" von VB-Macros im Officebereich zusammengebastelt:

01.
folderToPrint = "c:/TEMP" 
02.
Set objFS = CreateObject("Scripting.FileSystemObject") 
03.
Set objFolder = objFS.GetFolder(folderToPrint) 
04.
Set objWord = CreateObject("Word.Application") 
05.
objWord.visible = true '// "true" wenn Applickation sichtbar sein soll, "false" wenn nicht 
06.
for each doc in objFolder.Files 
07.
	if LCase(Right(doc.Name,4))= ".yzv" then 
08.
		set open_doc = objWord.Documents.Open(doc.path) 
09.
			With open_doc.PageSetup 
10.
			         .LineNumbering.Active = False 
11.
				.Orientation = wdOrientPortrait 
12.
				.TopMargin = (30) 
13.
				.BottomMargin = (30) 
14.
				.LeftMargin = (30) 
15.
				.RightMargin = (20) 
16.
				.HeaderDistance = (20) 
17.
				.FooterDistance = (20) 
18.
				.PageWidth = (842) 
19.
				.PageHeight = (595) 
20.
				.TwoPagesOnOne = False 
21.
			End With  
22.
		open_doc.PrintOut 
23.
		open_doc.close	 
24.
	end if 
25.
Next 
26.
wscript.Sleep 2000 
27.
objWord.quit
Ich habe oben die Inputbox durch ein festes Verzeichniss ersetzt, da das immer gleich ist.

Dan habe ich mit:

01.
 With opden_doc.PageSetup 
02.
	                           .LineNumbering.Active = False 
03.
				.Orientation = wdOrientPortrait 
04.
				...... 
05.
			End With 
die entsprechenden Einstellungen vorgenommen, um aus einem Hochformat-Dokument ein Qerformat-Dokument zu machen.

Und Peng; funktioniert.

Jetzt würde mich noch interessieren, ob ich mittels dem code > open_doc.(z.B. Font) < auch fertig kriege, die Schriftgröße zu ändern?

mfg
d.t.soko
Bitte warten ..
Mitglied: colinardo
04.01.2008 um 12:43 Uhr
Den Font kannst du für den ganzen Text im Dokument mit folgenden Zeilen ändern:

01.
open_doc.Select  '// Alles im Dokument auswählen 
02.
objWord.Selection.Font.Size = 12   '// Fontgröße setzen 
03.
objWord.Selection.SetRange 0, 0  '// Auswahl des Textes aufheben
Weitere Optionen kannst du selber herausfinden indem du Word öffnest dann ALT-F11 drückst, dann doppelklick auf "ThisDocument". Dann schreibst du eine Testroutine z.B wie folgt :

01.
Sub Test() 
02.
    ActiveDocument.Select 
03.
    Selection.ParagraphFormat.LineSpacing = LinesToPoints(1.2) 
04.
End Sub
Dort kannst du mit den Objekten und Methoden herumspielen und nachher Teile auf dein VBS-Script übertragen. Mit F5 kannst du die Routine dann immer testen.
Z.b. sind alle Objekt und Methoden die du auf ein Dokument ausübst unter dem Schlüsselwort: "ActiveDocument" zu finden. Alles was du an dein "objWord" anhängst findest du unter dem Schlüsselwort "Application".
Hier hast du auch eine komfortable IntelliSense-Funktion der Objekte und Methoden.

Diese Methode gilt auch für fast alle anderen Office-Applikationen wie Excel, PowerPoint, Outlook etc. Nur heißen dort die Funktionsaufrufe teilweise anders.

Tob dich dort einfach mal aus und durchforste mal die Visual Basic Hilfe, falls sie bei der Installation von Office mit installiert wurde (Schnellstens nachholen, Hilft wirklich weiter)!

Uwe
Bitte warten ..
Mitglied: D.T.Soko
04.01.2008 um 14:25 Uhr
Hallo,

danke Uwe!
Genau das was ich wissen wollte....

Ich muss zu meiner Verteidigung gestehen, dass ich VB-"Wie auch immer" schon schreiben kann. Allerdings nur Routinen und Formulare fürs Excel und ein bisschen fürs Word.

Auf jeden Fall Problem gelöst und auch noch was dazu gelernt.

Danke

d.t.soko
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Mehrere Word Dokumente per Batch Drucken lassen
gelöst Frage von SebastianGBatch & Shell1 Kommentar

Hallo zusammen, ich weis hierzu gibt es schon viele Beiträge aber bis jetzt hat mir noch kein Beitrag wirklich ...

Microsoft
Citrix Receiver 14.6.0.12.010 Drucken im Querformat nicht mehr möglich
Frage von JanowitschMicrosoft4 Kommentare

Hallo Leute, das Problem; seit der Version 14.6.0.12010 des Citrix Receivers lassen sich aus der Anwendung keine Dokumente im ...

Microsoft Office
Access 2013 - Daten an Word-Dokument übergeben und drucken
Frage von evolutionMicrosoft Office8 Kommentare

Hallo, ich habe eine Frage zu Access 2013. Ist es möglich aus Access heraus einen Druckauftrag eines Word-Dokuments anzustoßen ...

Visual Studio
Alle Word-Dokumente in einem Ordner drucken u Fehler ignorieren
gelöst Frage von ahstaxVisual Studio4 Kommentare

Hallo, ich würde gerne alle Word-Dokumente in einem Ordner (aus FolderBrowserDialog1.ShowDialog() = DialogResult.OK) drucken. Dabei sollen Meldungen wie "Der ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 41 MinutenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 1 StundeMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 8 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux13 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Windows 10
Alle Programme mit bestimmtem Namen automatisch (per GPO) deinstallieren
gelöst Frage von lordofremixesWindows 1012 Kommentare

Hallo zusammen, gibt es eine Möglichkeit, alle Programme beginnend mit z.B. "Dell" im Namen per Script und somit per ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...