2
我不是一個真正的交易程序員,所以請原諒我,如果我不知道任何標準的調試工具。從VBScript打開Word掛起,無法弄清楚爲什麼
我有什麼I thought was a very simple VBScript(只是一個txt文件保存爲.vbs
擴展名):
Const wdDoNotSaveChanges = 0
Const wdRevisionsViewFinal = 0
Const wdFormatPDF = 17
Dim arguments
Set arguments = WScript.Arguments
Function DOC2PDF(sDocFile)
Dim fso ' As FileSystemObject
Dim wdo ' As Word.Application
Dim wdoc ' As Word.Document
Dim wdocs ' As Word.Documents
Set fso = CreateObject("Scripting.FileSystemObject")
sDocFile = fso.GetAbsolutePathName(sDocFile)
sPdfFile = fso.GetParentFolderName(sDocFile) + "\" + fso.GetBaseName(sDocFile) + ".pdf"
Set wdo = CreateObject("Word.Application")
Set wdocs = wdo.Documents
Set wdoc = wdocs.Open(sDocFile)
if fso.FileExists(sPdfFile) Then
fso.DeleteFile sPdfFile, True
End If
Set wview = wdoc.ActiveWindow.View
wview.ShowRevisionsAndComments = False
wview.RevisionsView = wdRevisionsViewFinal
wdoc.SaveAs sPdfFile, wdFormatPDF
wdo.Quit wdDoNotSaveChanges
Set fso = Nothing
Set wdo = Nothing
End Function
然而,下面的線造成巨大的悲痛:
Set wdoc = wdocs.Open(sDocFile)
有時候話語ActiveX對象只凍結在這一步。我已經通過一些超級簡單的調試驗證了這一點,在每行之後放置一個WriteLine並查看它停止的位置。
Word只是坐在那裏消耗100%的CPU,腳本永遠不會超過這一步。
我該如何進行調試以瞭解Word ActiveX對象到底會發生什麼,以及爲什麼它只是掛起而不會返回?
完美 - 這很好。現在我可以看到,當它從我的本地帳戶運行時,一切都正常,但是當它從「系統」帳戶運行時,會出現一系列安全錯誤。 –