This article applies only to novaPDF. If you don't have it yet, you must download it first.
Download now Buy licenses
Lumi (Softland)
Feb 25, 2019
We strive to keep our articles as accurate as possible. If you notice any inconsistencies or outdated info please let us know.
Word OLE VB sample is a simple Windows console application that converts a MS Word document (C:\Test.doc) to PDF using Word OLE automation. This sample demonstrates how to convert the existing Test.doc sample by printing it to novaPDF SDK Printer.
Note: To be able to use the samples you must install novaPDF SDK as samples work only with it. Download it here: nova PDF SDK.
Source Code
Attribute VB_Name = "Module1"
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
' the novapiLib and novapiLibDemo packages must be added as a COM reference
Const PRINTER_NAME As String = "novaPDF SDK 8"
Const PROFILE_NAME As String = "VB Word OLE"
Const PROFILE_IS_PUBLIC As Long = 0
' The main entry point for the application.
Public Sub Main()
On Error GoTo ErrorHandler:
' create the NovaPdfOptions object
Dim pNova As New NovaPdfOptions80
Dim sOldActiveProfileID As String
Dim sNewProfileID As String
' initialize the NovaPdfOptions object to use with a printer licensed for SDK
pNova.Initialize2 (PRINTER_NAME, "")
pNova.GetActiveProfile2 (sOldActiveProfileID)
' create new profile
On Error Resume Next
pNova.AddProfile2 PROFILE_NAME, PROFILE_IS_PUBLIC, sNewProfileID
pNova.LoadProfile2 (sNewProfileID)
' and set some options
pNova.SetOptionString2 NOVAPDF_DOCINFO_SUBJECT, "Test OLE document"
'save profile changes
pNova.SaveProfile
'set as active profile for printer
pNova.SetActiveProfile (sNewProfileID)
' set nova default printer
pNova.SetDefaultPrinter
' print word document
Dim objWord As Object
Dim objDoc As Object
pNova.InitializeOLEUsage "Word.Application"
Set objWord = CreateObject("Word.Application")
pNova.LicenseOLEServer
Set objDoc = objWord.Documents.Open("C:\Test.doc", False, True)
objDoc.PrintOut False
objDoc.Close False
objWord.Quit False
' restore default printer
pNova.RestoreDefaultPrinter
'restore default profile
If Len(sOldActiveProfileID) > 0 Then
pNova.SetActiveProfile2 (sOldActiveProfileID)
End If
'delete newly created profile
pNova.DeleteProfile2 (sNewProfileID)
Exit Sub
ErrorHandler:
Debug.Print Err.Number & ":" & Err.Description
End Sub