Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1688to1692
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Word über Vba Excel als PDF speichern
20.04.2019 14:15:22
Marcel
Hallo,
ich habe Makro mit dem ich Werte in eine Word Dokument setze.
  Private Sub cb_PAdd_Click()
Dim PathFile As String
Dim objWDApp As Object
Dim objWDDoc As Object
Dim Pfad As String
Dim Dateiname As String
Dim pdfName As String
PathFile = ThisWorkbook.path & Application.PathSeparator & _
"Vorlage_PreAdd.doc"
Set objWDApp = OffApp("Word", True)
If Not objWDApp Is Nothing Then
Set objWDDoc = objWDApp.Documents.Open(PathFile, True)
Dateiname = TextBox2 & "_" & TextBox3 & "_" & TextBox4
If Dir(ThisWorkbook.path & "\" & Dateiname, vbDirectory) = "" Then
MkDir ThisWorkbook.path & "\" & Dateiname
MsgBox "Es wurde ein Ordner für die ID: " & TextBox2 & " erstellt!"
Pfad = ActiveWorkbook.path & "\" & Dateiname & "\"
Else
Pfad = ActiveWorkbook.path & "\" & Dateiname & "\"
End If
Dim Geschlecht As String
With objWDDoc
objWDApp.Visible = False
If ListBox1.ListIndex > -1 Then
If TextBox5.Text = "m" Then
Geschlecht = "Mr"
Else
Geschlecht = "Mrs"
End If
.Bookmarks("Mr_Mrs").Range = Geschlecht
.Bookmarks("Fam_Name").Range = TextBox3.Value
.Bookmarks("Vorname").Range = TextBox4.Value
.Bookmarks("Staatsangehörigkeit").Range = TextBox8.Value
.Bookmarks("E_Mail").Range = TextBox9.Value
.Bookmarks("ID").Range = TextBox2.Value
.Bookmarks("ID_1").Range = TextBox2.Value
.Bookmarks("Fam_Name_1").Range = TextBox3.Value
.Bookmarks("Vorname_1").Range = TextBox4.Value
.Bookmarks("Geburtstag").Range = TextBox6.Value
.Bookmarks("Geburtsort").Range = TextBox7.Value
.Bookmarks("Passnummer").Range = TextBox24.Value
...
Nun würde ich gern über einen Button ein Word Dokument auswählen und dieses als PDF speichern.
Private Sub CommandButton9_Click()
Dim openDia
Dim wrdApp
Dim wrdDoc
Dim Pfad As String, Ordnername As String
Ordnername = TextBox2 & "_" & TextBox3 & "_" & TextBox4
Pfad = ThisWorkbook.path & "\" & Ordnername & "\" & TextBox1.Text & ".pdf"
openDia = Application.GetOpenFilename("Word-Dokumente, *.docx", , "Bitte Datei auswählen")
If openDia = False Then Exit Sub
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Add(openDia)
wrdDoc.ExportAsFixedFormat Pfad, 17
wrdDoc.Save
wrdDoc.Close
wrdApp.Quit
Set wrdDoc = Nothing
Set wrdApp = Nothing
End Sub
Das geht mal und mal nicht... Wenn es nicht geht steht als Fehler das das Dokument bereits verwendet wird. Oder ich speichere das Word Dokument und dann speichert er die PDF ab.
Was mach ich da falsch?
Gruß
Marcel

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Word über Vba Excel als PDF speichern
20.04.2019 14:44:59
Hajo_Zi
Hallo Marcel,
ist da nicht ein Word Forum besser?
https://www.ms-office-forum.net/forum/forumdisplay.php?f=30

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
AW: Word über Vba Excel als PDF speichern
20.04.2019 15:06:15
Marcel
Hallo Hajo,
ich schreibe den Code ja über Excel vba.
Da dort die Daten über eine Tabelle geholt werden.
Gruß
Marcel
AW: Word über Vba Excel als PDF speichern
20.04.2019 16:15:16
Luschi
Hallo Marcel,
bei dieser Vba-Zeile: Dateiname = TextBox2 & "_" & TextBox3 & "_" & TextBox4
würde ich NIE auf die Idee kommen, daß Du hier den Sub-Pfad zusammengesetzt.
Trotzdem mußt Du prüfen, ob in diesem String (der ja aus Usereingaben in TB's kommt),
ungültige Zeichen (die Windows nicht mag!) sind, denn schließlich hat der User davon vielleicht/sicher keine Ahnung.
Ansonsten kann man nur spekulieren, denn an diesem Befehl liegt es nicht:
wrdDoc.ExportAsFixedFormat Pfad, 17
da vorhandene pdf-Dateien mit dem entsprechenden Namen einfach überschrieben werden.
Was aber, wenn diese Pdf-Datei geöffet ist. Hier habe ich schon so manche Überraschung erlebt.
Um solche Vba-Fehler zu killen, muß man schon das Arsenal des Debuggings auspacken:
- Haltepunkte setzen (F9)
- schrittweise weiterschalten (F8)
- Überwachungsfenster anzeigen
- und Variablen, die kontroliert werden sollen/müssen in diesem Ü-Fenster anzeigen/überwachen
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Word über Vba Excel als PDF speichern
20.04.2019 23:29:14
Rainer
Hallo Marcel,
ergänzend vielleicht noch folgende Prüfung:
Sub Vorhanden_Datei()
If Dir(Pfad)  "" Then
MsgBox "vorhanden"
Else
MsgBox "nicht vorhanden"
End If
End Sub
Luschis Hinweis auf bereits geöffnete PDF kann ich so unterschreiben, ich habe auch schon bemerkt dass diese "geöffnet" waren, obwohl es offensichtlich kein offenes Fenster dafür gab.
Gruß, Rainer

191 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige