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

PDF mit VBSkript erstellen

Frage Entwicklung

Mitglied: bordermax

bordermax (Level 1) - Jetzt verbinden

22.01.2010 um 10:26 Uhr, 9036 Aufrufe, 9 Kommentare

Hi,

ich würde gerne aus einem VB-Skript heraus eine PDF Datei erzeugen.
Ideal wäre wenn es eine Möglichkeit gäbe das PDF direkt zu erzeugen, vielleicht über irgendein Kommandozeilentool.
Alternativ wäre mir aber auch schon geholfen, wenn ich die zu druckende Datei (ist ein txt-Datei) zum PDF-Druckspooler schicken könnte.
Der PDF-Drucker ist aber nicht der Standarddrucker !

Gruß

Markus
Mitglied: tmystr
22.01.2010 um 10:29 Uhr
Guten Morgen,

ich weiss jetzt nicht dir direkt zu helfen.
Aber mit der Alternativlösung habe ich Erfahrung.
Ich würde FreePDF Vorschlagen. (Freeware + noch nie Probleme gehabt + läuft einfach klasse+leicht zu bedienen)

MFG
Bitte warten ..
Mitglied: TsukiSan
22.01.2010 um 10:31 Uhr
Hallo bordermax,

eventuell helfen dir diese Jungs weiter.

Gruss
Tsuki
Bitte warten ..
Mitglied: bordermax
22.01.2010 um 11:00 Uhr
Hab im Netz folgendes Skript gefunden ....

Option Explicit

Dim objShellApp
Dim argument
Dim strFile
If WScript.Arguments.Count < 1 Then
WScript.Echo("Usage: printfile.vbs file.doc")
WScript.Quit
End If

strFile = WScript.Arguments(0)

Set objShellApp = WScript.CreateObject("Shell.Application")
objShellApp.ShellExecute strFile, "", "/D:\\Rechnername\Spoolername", "print", 0
'objShellApp.ShellExecute strFile, "", "", "print", 0

WScript.Sleep(5000)

Set objShellApp = Nothing

Das Skript schickt zwar die Datei zum Drucker, aber immer zum Standarddrucker ???


Markus
Bitte warten ..
Mitglied: bastla
22.01.2010 um 12:39 Uhr
Hallo bordermax!

Bei der Installation des PDFCreator werden (hoffentlich auch bei der aktuellen Version 0.9.9) in den Ordner "Programmordner\COM\Windows Scripting Host\VBScripts" eine Reihe von Scripts gelegt ...

Grüße
bastla
Bitte warten ..
Mitglied: mayho33
23.01.2010 um 16:53 Uhr
Hi!

Habe hier ein kleines Häppchen gefunden aus einem alten Projekt das wir aber nie abgeschlossen haben


' Transfer Print Jobs to a Different Print Queue
'VBS


strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set objPrinter = objWMIService.Get _
("Win32_Printer.DeviceID='DER_GESUCHTE_DRUCKER'")

objPrinter.PortName = "Der gewünschte Port z.B LPT1"
objPrinter.Put_

Grüße

Mayho
Bitte warten ..
Mitglied: bastla
23.01.2010 um 18:49 Uhr
Hallo bordermax!

Wenn das Ausdrucken zum Standarddrucker schon funktioniert, könntest Du es so versuchen:
01.
PDFPrinter = "Druckername PDF-Drucker" 
02.
 
03.
If WScript.Arguments.Count < 1 Then 
04.
    WScript.Echo("Usage: printfile.vbs file.doc") 
05.
    WScript.Quit 
06.
End If 
07.
strFile = WScript.Arguments(0) 
08.
 
09.
'Standarddrucker zwischenspeichern 
10.
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") 
11.
Set colInstalledPrinters =  objWMIService.ExecQuery("Select * from Win32_Printer where Default = 'True'") 
12.
For Each objPrinter in colInstalledPrinters 
13.
   Def = objPrinter.DeviceID 
14.
Next 
15.
 
16.
'PDF-Drucker als Standard setzen 
17.
objWMIService.ExecMethod "Win32_Printer.DeviceID='" & PDFPrinter & "'", "SetDefaultPrinter" 
18.
 
19.
Set objShellApp = WScript.CreateObject("Shell.Application") 
20.
objShellApp.ShellExecute strFile, "", "/D:\\Rechnername\Spoolername", "print", 0 
21.
 
22.
WScript.Sleep(5000) 
23.
 
24.
Set objShellApp = Nothing 
25.
 
26.
'Wieder alten Standarddrucker setzen 
27.
If Def <> "" Then objWMIService.ExecMethod "Win32_Printer.DeviceID='" & Def & "'", "SetDefaultPrinter"
Grüße
bastla

P.S.: Für das Posten von Code hätten wir hier die Tags <code> und </code> ...
Bitte warten ..
Mitglied: bordermax
23.01.2010 um 23:47 Uhr
Hallo Bastla,

danke für den Tip, so hab ich's mittlerweile auch realisiert.
Nur hab ich das ganze über Regkeys gemacht, Deine Lösung über WMI sieht mir da doch eleganter aus !

Gruß

Markus

P.S.: Das mit dem posten von Code muß ich wohl noch üben
Bitte warten ..
Mitglied: bordermax
25.01.2010 um 08:03 Uhr
Hallo Mayho,

kannste mir noch sagen wie ich Dein Skript weiter bearbeiten muß damit ich die Datei zum Drucker geschickt bekomme ?

Gruß

Markus
Bitte warten ..
Mitglied: mayho33
03.02.2010 um 22:44 Uhr
Hi Bordermax!

Sorry, ist etwas stressig in letzter Zeit

Also das Script oben macht eigentlich nichts anderes als dass es den Port des Druckers ändert und das dauerhaft. Im Treiber des Druckers kannst du einen eigenen Port definieren auf den du dann umleiten kannst. Würde sicher auch per Script gehen.
Das script müsste für temp. Druck also vorher auf den Port "Keine-Ahnung" umstellen und dann wieder zurück. Wie du das aber während des Drucks machst kann ich dir auf die Schnelle echt nicht sagen.


Sorry

MAyho
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst PDF Datei erzeugen über Kommandozeile (6)

Frage von Xaero1982 zum Thema Batch & Shell ...

Batch & Shell
Powershell, PDF (6)

Frage von AnkhMorpork zum Thema Batch & Shell ...

Windows 7
gelöst PDF-Printer (9)

Frage von malika zum Thema Windows 7 ...

Sonstige Systeme
PDF-Formulare mit handschriftlicher Unterschrift (19)

Frage von FenjaW zum Thema Sonstige Systeme ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Windows 10
Windows 10 Fall Creators Update Fehler (14)

Frage von ZeroCool23 zum Thema Windows 10 ...

Router & Routing
gelöst Getrenntes Routing bei VoIP und Daten (12)

Frage von Hobbystern zum Thema Router & Routing ...