562 Benutzer online
01. Dezember 2024, 07:29:42

Windows Community



 Antworten / AufrufeThemen mit dem Stichwort comschnittstelle
14
Antworten
18714
Aufrufe
PDFCreator - wie unter WordVBA programmieren?
Begonnen von Jean Raul
03. Juli 2008, 22:35:12
Hat schon mal jemand versucht, mit dem (kostenlosen) PDFCreator
http://www.pdfforge.org/
WordVBA zu programmieren? Im Prinzip schaffe ich es ja mit dem mitgelieferten Beispielprogrammen. Ich habe aber Probleme damit, den Dateinamen zu programmieren, unter dem die pdf ausgegeben werden soll. Die PDF wird immer mit dem Pfad und Namen ausgegeben, der den Autosave-Optionen des Programms entspricht, aber nicht mit dem Namen, den ich im Programm vorgebe und haben will.

So lautet mein VBA-Skript. Es soll die aktuell in Word geöffnete Datei ohne weitere Benutzereingriffe als PDF in den Pfad <PDFPfad$> unter dem Namen <PDFName$> speichern:
[code]
Public Function PDFDruck(Optional OhneMsg As Boolean)
Dim Zwi$, PDFPfad$, PDFName$, pdfjob
PDFPfad$ = "C:\Zwi"
'Ermittelt den Namen des aktiven Dokuments:
Zwi$ = ActiveDocument.Name
If InStr(1, Zwi$, ".", vbTextCompare) > 1 Then
   PDFName$ = Mid(Zwi$, 1, InStr(1, Zwi$, ".", vbTextCompare) - 1)
Else
   PDFName$ = "Unbenannt"
End If

Set pdfjob = New PDFCreator.clsPDFCreator
With pdfjob
   If .cStart("/NoProcessingAtStartup") = False Then
      MsgBox "PDFCreator kann nicht initialisiert werden. Bitte beenden Sie die PDFCreator-Prozesse.", vbCritical + _
         vbOKOnly, "PrtPDFCreator"
      GoTo Ende
   End If
   .cOption("UseAutosave") = 1
   .cOption("UseAutosaveDirectory") = 1
   .cOption("AutosaveDirectory") = PDFPfad$
   .cOption("AutosaveFilename") = PDFName$
   .cOption("AutosaveFormat") = 0    '0 = PDF
   .cDefaultPrinter = "PDFCreator"
   .cPrinterStop = False
   .cClearCache
   ActiveDocument.PrintOut Background:=False
End With
'!!!!!!!!!!!!!!!!Wartet ab, bis fertig gedruckt ist:!!!!!!!!!!!!!!
Dim sleepTime, maxTime, c
sleepTime = 250
maxTime = 10
c = 0
Do While (pdfjob.cOutputFilename = "") And (c < (maxTime * 1000 / sleepTime))
  c = c + 1
  Sleep 200
Loop
'!!!!!!!!!!!!!!!Ende des Abwartens!!!!!!!!!!!!!!
Ende:
Zwi$ = pdfjob.cOutputFilename
pdfjob.cClose
Set pdfjob = Nothing
If Not OhneMsg Then
   If Len(Zwi$) > 0 Then
      MsgBox "Das Dokument wurde nach " & Zwi$ & " gespeichert.", vbInformation
   Else
      MsgBox "Beim Speichern als pdf ist ein Fehler aufgetreten!", vbCritical
   End If
End If
PDFDruck = Zwi$
End Function
[/code]

Auch die anderen COM-Funktionen des Programms sind mir ein Buch mit sieben Rätseln, da die Funktionen nach meiner Ansicht sehr schlecht dokumentiert sind. Weiß jemand mehr? Anbei die "Dokumentation" und die Beispieldateien:

bgebge 4499011044990110 5956812159568121 6454251864542518 6772027767720277 7177875871778758 7403565374035653 7867747478677474 8145651681456516 8546427685464276 9356403793564037 9678340596783405 117218890117218890 128617741128617741 64bit64bit netzwerknetzwerk programmierungprogrammierung 13555341691355534169 4564579645645796 5353710053537100 5715546957155469 6044456460444564 7464912974649129 8333933483339334 8647589086475890 9491169694911696 9819706198197061 treibertreiber viavia yahooyahoo
3
Antworten
13350
Aufrufe
Fehlende COM Schnittstelle emulieren
Begonnen von Diesel
10. Juni 2008, 17:18:22
Hi,

ich habe folgendes Problem, dass ich einen HP Switch via Serielle Schnittstelle managen möchte.
Leider besitzt mein HP Notebook keine Serielle Schnittstelle.
Mein Chef hat mir den Tip gegeben ein Adapter (USB2Serial) zu nutzen, jedoch weiß ich nicht wie ich den konfigurieren soll.
Die Switch konfiguration verläfut via Hyperterminal bie XP, bei Vista käme da nur Telnet in Frage es sei denn ich nutze tools a la Putty/Tutty.

Klartext:
Ich muss die genutzte USB Schnittstelle auf einen emulierten COM Port umbiegen.
Befehle könnten sein:
[code]net use com1 \\MEINNOTEBOOK\usb[/code]

allerdings will das nicht so ganz funktionieren bei mir. ;(