title image


Smiley Re: .pdf Dokument über Excel-VBA füllen? (E97)
Hi,



Du kannst eine FDF-Datei generieren, mit Hilfe dieser kannst Du dann Deine Felder in der PDF-Datei füllen.

Hier ein Beispiel:



Private Sub MERKBLATT_Click()



Dim dName$, ADatei$, tmp$, i!

Dim strPfad As String

strPfad = ActiveWorkbook.Path & "\"

dName = strPfad & "Transport.fdf"



Set fs = CreateObject("Scripting.FileSystemObject")

Set a = fs.CreateTextFile(dName, True)



a.WriteLine ("%FDF-1.2")

a.WriteLine ("%âãÏÓ")

a.WriteLine ("1 0 obj")

a.WriteLine ("<<")

a.WriteLine ("/FDF << /Fields")

a.WriteLine ("[")



a.WriteLine (">")

a.WriteLine (">")

a.WriteLine (">")



a.WriteLine ("]")

a.WriteLine ("/F (Merkblatt.pdf)>>")

a.WriteLine (">>")

a.WriteLine ("endobj")

a.WriteLine ("trailer")

a.WriteLine ("<<")

a.WriteLine ("/Root 1 0 R")



a.WriteLine (">>")

a.WriteLine ("%%EOF")



a.Close



On Error GoTo w



tmp = String$(512, 0)

i = FindExecutable(dName, CurDir$, tmp)

i = InStr(tmp, Chr$(0))

ADatei = Left$(tmp, i - 1)

If ADatei = "" Then

MsgBox "Es wurde kein Acrobat Reader auf Ihrem Computer gefunden." & Chr(13) & _

"Bitte installieren Sie den Acrobat Reader oder setzen Sie sich mit Ihrer Geschäftsstelle in Verbindung.", vbInformation, "Hinweis"

Exit Sub

End If



Do Until dName = strPfad & "Transport.fdf"

Loop



Shell ADatei & " " & dName, vbMaximizedFocus



w:

Set fs = Nothing

Set a = Nothing



End Sub



In diesem Beispiel wird sogar der Acrobat Reader auf der Festplatte gesucht, damit falls der Pfad sich ändert, keine Probleme auftreten. Gab aber bei manchen Betriebssystemen Probleme, da der Acrobat Reader geöffnet wurde, bevor er die Datei geladen hatte.

Außerdem gehe ich beim Quellcode davon aus, dass die PDF-Datei im selben Ordner liegt, wie die Excel-Datei.



Ich hoffe Du wirst daraus schlau.

Wenn nicht einfach Folgebeitrag schreiben ;o)



Gruß Sigurd

Gruß Sigurd

www.sigurd-pompetzki.de



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: