Я хочу конвертировать файл docx в pdf с помощью vbscript. Но мой скрипт всегда выдает ошибки. Я не знаю, что я делаю неправильно:
Set oFSO = CreateObject("Scripting.FileSystemObject")
For i= 0 To WScript.Arguments.Count -1
Set objWord = CreateObject("Word.Application")
objWord.Visible = False
oFile = WScript.Arguments(i)
dirPath = oFSO.GetParentFolderName(oFile)
If UCase(oFSO.GetExtensionName(oFile)) = "DOC" Or UCase(oFSO.GetExtensionName(oFile)) = "DOCX" Then
pdfPath = dirPath & "\" & GetFilenameWithoutExtension(oFile) & ".pdf"
Set objDoc = objWord.documents.open(dirPath & "\" & oFile)
objDoc.saveas pdfPath, 17
objDoc.Close
End If
objWord.Quit
Next
Function GetFilenameWithoutExtension(ByVal FileName)
Dim Result, i
Result = FileName
i = InStrRev(FileName, ".")
If ( i > 0 ) Then
Result = Mid(FileName, 1, i - 1)
End If
GetFilenameWithoutExtension = Result
End Function
Этот код выдает следующую ошибку:
script.vbs (15, 5) Ошибка времени выполнения Microsoft VBScript: Требуемый объект: 'objWord.documents.open (...)'
Я попробовал следующее:
Set oFSO = CreateObject("Scripting.FileSystemObject")
For i= 0 To WScript.Arguments.Count -1
Set objWord = CreateObject("Word.Application")
objWord.Visible = False
Set oFile = oFSO.GetFile(WScript.Arguments(i))
dirPath = oFSO.GetParentFolderName(WScript.Arguments(i))
If UCase(oFSO.GetExtensionName(oFile.Name)) = "DOC" Or UCase(oFSO.GetExtensionName(oFile.Name)) = "DOCX" Then
pdfPath = dirPath & "\" & GetFilenameWithoutExtension(oFile.Name) & ".pdf"
Set objDoc = objWord.documents.open(dirPath & "\" & oFile.Name)
objDoc.saveas pdfPath, 17
objDoc.Close
End If
objWord.Quit
Next
Function GetFilenameWithoutExtension(ByVal FileName)
Dim Result, i
Result = FileName
i = InStrRev(FileName, ".")
If ( i > 0 ) Then
Result = Mid(FileName, 1, i - 1)
End If
GetFilenameWithoutExtension = Result
End Function
Но тогда я получаю ошибку:
script.vbs (12, 5) Microsoft Word: сбой команды