VISIO Datei als PDF speichern - aus Excel

Frage: Wie kann ich per VBA aus Excel eine VISIO - Datei öffnen und als PDF speichern? Funktioniert ab Office 2007 (mit installiertem Plugin "speichern unter PDF oder XPS") bzw. mit Office 2010:
Option Explicit
Const strFilePath As String = "C:\Temp\"
Private Const visDocExIntentPrint = 1
Private Const visPrintCurrentPage = 2
Private Const visFixedFormatPDF = 1
Private Const visPrintAll = 0
Private Const visOpenRW = 32
Sub Main()
    Dim objVisioApp As Object
    Dim blnTMP As Boolean
    On Error GoTo Fin
    Set objVisioApp = CreateObject("Visio.Application")
    With objVisioApp
        .Visible = False
        .Documents.OpenEx strFilePath & "Test.vsd", visOpenRW
        .Documents(1).ExportAsFixedFormat visFixedFormatPDF, _
            strFilePath & Left(.Documents(1).Name, _
            InStrRev(.Documents(1).Name, ".")) & "pdf", _
            visDocExIntentPrint, visPrintAll
        DoEvents
        Do
            blnTMP = FileExist(strFilePath)
        Loop Until blnTMP = True
        .Documents(1).Close
    End With
Fin:
    If Not objVisioApp Is Nothing Then objVisioApp.Quit
    Set objVisioApp = Nothing
    If Err.Number <> 0 Then MsgBox "Error: " & _
        Err.Number & " " & Err.Description
End Sub
Private Function FileExist(ByVal strFileName As String) As Boolean
    FileExist = IIf(Len(Dir(strFileName)) = 0, False, True)
End Function

Beliebte Posts aus diesem Blog

Formeln - auch Array - per VBA eintragen...

Alle Dateien eines Ordners - Optional mit Unterordner

Excel -> Word in Textmarken (Bookmarks)...