Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

pdf dynamisch erstellen

Begonnen von Carl, Dezember 10, 2017, 22:48:57

⏪ vorheriges - nächstes ⏩

Carl

Kann Access mit bordmitteln aus einem word-file einen pdf erstellen und anzeigen?

Es sollen keine weiteren Optionen abgefragt werden müssen. Einfach kicken und der jeweils hinter dem Button liegende Word-File soll als pdf kompiliert und geöffnet werden. Geht sowas?

Carl

Carl

Lachtaube

Mittels Automatisierung von Word und etwas Geduld sollte die Aufgabe zu bewältigen sein.
Grüße von der (⌒▽⌒)


PhilS

Guter Link, insbesondere weil im PS-Script den Hinweise auf die ExportAsFixedFormat-Methode enthält, die von VBA aus ebenfalls einfach genutzt werden kann.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor


Carl

okay, ich setz mich dran. :-)

Carl

Na ja, ich muss es mit Bordmitteln machen.

Vielleicht ist es auch besser, wenn man den File einfach dem pdf-maker mit Kriterien übergibt. Kann man das mit VBA machen?

Carl

Also, ich habe folgenden Code gefunden, der aber nicht bei mir funktioniert.

Fehlermeldung: "AppWD Variable nicht definiert"

Was könnte damit gemeint sein? Bezeichnet das AppWD den Pfad zur word.exe?


Private Sub Instruktion_Click()
Set AppWD = CreateObject("word.application")
      With AppWD
          .Documents.Open FileName:=PfadInstruktion
          .Visible = False
          .ActiveDocument.ExportAsFixedFormat Mid(PfadInstruktion, 1, Len(PfadInstruktion) - 3) & "pdf", wdExportFormatPDF
          '.ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
          .ActiveDocument.Saved = True
      End With
      AppWD.Application.Quit
      Set AppWD = Nothing
End Sub

DF6GL

Hallo,

es dürfte der Verweis zur MS Word Library fehlen.

Des Weiteren: 
AppWD ist nicht deklariert
Was ist "PfadInstruktion"?

Es könnte auch Late Binding verwendet werden, dann geht es  ohne Verweis-Einstellung:

Private Sub Instruktion_Click()
Dim AppWd As Object
Dim strFilename As String

strFilename = "c:\temp\MeineWordDatei.doc"

Set AppWd = CreateObject("word.application")

      With AppWd
          .Documents.Open Filename:=strFilename
          .Visible = False
          .ActiveDocument.ExportAsFixedFormat Mid(strFilename, 1, Len(strFilename) - 3) & "pdf", 17
          '.ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
          .ActiveDocument.Saved = True
      End With

      AppWd.Application.Quit
      Set AppWd = Nothing
End Sub



Schreibe in JEDEN Modulkopf "Option Explicit" ein.

Carl

okay, ich probiers mal so.

PfadInstruktion ist ein Feld aus der Abfrage, auf der das Formular basiert. Das Feld berechnet die Pfade zur jeweiligen Datei.

Was ist denn ein Modulkopf? Ich dachte das kommt in die VBA-Seite des Formulars?

Carl

PhilS

Zitat von: Carl am Dezember 14, 2017, 07:14:49
Was ist denn ein Modulkopf?
Der Modulkopf ist der Bereich eines Moduls vor Beginn der ersten Prozedur. Die Option-Anweisungen sollten die allerersten Zeilen im Modulkopf sein.
Ein VBA-Modul kann die "VBA-Seite" eines Formulars oder Berichts sein, oder ein eigenständiges Modul oder ein eigenständiges Klassenmodul.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor