VBA:PublishPDF Use Corel WordPerfect to convert WP documents to PDF

The solution for “VBA:PublishPDF Use Corel WordPerfect to convert WP documents to PDF” can be found here. The following code will assist you in solving the problem.

Option Explicit

Dim blnExitWP, colItems, strMsg, strPDFDoc, strWPDoc
Dim objFSO, objItem, objWMIService, objWP

strMsg = “”

‘ Open a FileSystem Object
Set objFSO = CreateObject( “Scripting.FileSystemObject” )

‘ Parse the command line arguments
With WScript.Arguments
If .Named.Count > 0 Then Syntax
Select Case .Unnamed.Count
Case 1
strWPDoc = .Unnamed(0)
‘ No PDF file name specified, so we’ll take the location and
‘ file name of the WordPerfect document and append a PDF extension
strPDFDoc = objFSO.BuildPath( objFSO.GetParentFolderName( strWPDoc ), _
objFSO.GetBaseName( strWPDoc ) & “.pdf” )
Case 2
strWPDoc = .Unnamed(0)
strPDFDoc = .Unnamed(1)
Case Else
Syntax
End Select
End With

‘ Check if the WordPerfect file exists
If Not objFSO.FileExists( strWPDoc ) Then
strMsg = “ERROR: File “”” & strWPDoc & “”” not found” & vbCrLf & vbCrLf
Syntax
End If

‘ Check if WordPerfect is already active by
‘ searching for a process named WPWIN**.EXE
blnExitWP = True
Set objWMIService = GetObject( “winmgmts://./root/cimv2” )
Set colItems = objWMIService.ExecQuery( “SELECT * FROM Win32_Process” )
For Each objItem In colItems
If Left( UCase( objItem.Name ), 5 ) = “WPWIN” And _
Right( UCase( objItem.Name ), 4 ) = “.EXE” And _
Len( objItem.Name ) < 12 Then blnExitWP = False Next Set objWMIService = Nothing ' Create a new WP OLE Automation object Set objWP = CreateObject( "WordPerfect.PerfectScript" ) With objWP ' Open the specified document .FileOpen( strWPDoc ) ' Publish to PDF .PdfDlg( strPDFDoc ) ' Close the document .Close ' Close WordPerfect unless it was already active If blnExitWP Then .ExitWordPerfect End With ' Release the objects Set objFSO = Nothing Set objWP = Nothing Sub Syntax( ) strMsg = strMsg & vbCrLf _ & WScript.ScriptName & ", Version 1.00" & vbCrLf _ & "Convert a WordPerfect document to Adobe PDF" & vbCrLf & vbCrLf _ & "Usage: " & UCase( WScript.ScriptName ) _ & " wpdoc_filename [ pdf_filename ]" & vbCrLf & vbCrLf _ & "Where: ""wpdoc_filename"" is the WP file to be converted" _ & vbCrLf _ & " ""pdf_filename"" is the name for the PDF file" _ & vbCrLf _ & " " _ & "(default is name of WP file with .PDF extension)" _ & vbCrLf & vbCrLf _ & "Written by Rob van der Woude" & vbCrLf _ & "http://www.robvanderwoude.com" WScript.Echo strMsg WScript.Quit(1) End Sub

Thank you for using DeclareCode; We hope you were able to resolve the issue.

More questions on [categories-list]

Similar Posts