Limited time promo

Word OLE Visual Basic - SDK sample

English en

This article applies only to novaPDF. If you don't have it yet, you must download it first.

Download now Buy licenses
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"

' 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.LoadProfile2 (sNewProfileID)
	' and set some options
	pNova.SetOptionString2 NOVAPDF_DOCINFO_SUBJECT, "Test OLE document"
	'save profile changes
	'set as active profile for printer
	pNova.SetActiveProfile (sNewProfileID)

	' set nova default printer
	' print word document
	Dim objWord As Object
	Dim objDoc As Object
	pNova.InitializeOLEUsage "Word.Application"
	Set objWord = CreateObject("Word.Application")
	Set objDoc = objWord.Documents.Open("C:\Test.doc", False, True)
	objDoc.PrintOut False
	objDoc.Close False
	objWord.Quit False
	' restore default printer
	'restore default profile
	If Len(sOldActiveProfileID) > 0 Then
		pNova.SetActiveProfile2 (sOldActiveProfileID)
	End If
	'delete newly created profile
	pNova.DeleteProfile2 (sNewProfileID)

	Exit Sub
	Debug.Print Err.Number & ":" & Err.Description
End Sub