'----------------------------------------------------------------------
' 1) Microsoft Visio 2000 or above should be installed and activated on your PC.
'
' 2) Universal Document Converter 5.2 or above should be installed, too.
'
' 3) Open your project in Microsoft Visual Basic 6.0.
'
' 4) In Visual Basic main menu press "Project->References".
'
' 5) In the list of references check "Universal Document Converter Type Library".
'----------------------------------------------------------------------Private Sub PrintVisioToTIFF(strFilePath As String)
' Define constantsConst visOpenRW = &H20
Const visOpenDontList = &H8
Const visPrintAll = 0
Dim objUDC As IUDC
Dim itfPrinter As IUDCPrinter
Dim itfProfile As IProfile
Dim objVisioApp As ObjectDim itfDrawing As Object' Use Universal Document Converter API to change settings of converterd documentSet objUDC = New UDC.APIWrapper
Set itfPrinter = objUDC.Printers("Universal Document Converter")
Set itfProfile = itfPrinter.Profile
' Load profile located in folder "%APPDATA%\UDC Profiles".' Value of %APPDATA% variable should be received using Windows API's SHGetSpecialFolderPath function.' Or you can move default profiles into a folder you prefer.
itfProfile.Load("Drawing to TIFF.xml")
itfProfile.OutputLocation.Mode = LM_PREDEFINED
itfProfile.OutputLocation.FolderPath = "C:\Out"
itfProfile.PostProcessing.Mode = PP_OPEN_FOLDER
' Run Microsoft Visio as COM-serverOn Error Resume NextSet objVisioApp = CreateObject("Visio.Application")
objVisioApp.Visible = False' Open drawing from file
Err = 0 ' Clear GetLastError() value
Set itfDrawing = objVisioApp.Documents.OpenEx(strFilePath, visOpenRW And visOpenDontList)
If Err = 0 Then ' Change Drawing preferences for scaling it to page
itfDrawing.PrintCenteredH = True
itfDrawing.PrintCenteredV = True
itfDrawing.PrintFitOnPages = True ' Print drawing
itfDrawing.Printer = "Universal Document Converter"
itfDrawing.PrintOut (visPrintAll)
' Close drawing
itfDrawing.Saved = True
itfDrawing.Close
Set itfDrawing = Nothing
End If' Close Microsoft VisioCall objVisioApp.Quit
Set objVisioApp = Nothing
End Sub