2011-06-22 6 views
2

私は本当にプログラマではないので、私は標準のデバッグツールを認識していない場合は私を許してください。VBScriptからWordを開くと、理由がわかりません

私は何I thought was a very simple VBScript.vbs拡張子で保存されたばかりのtxtファイル)があります。ただ時々、WordのActiveXオブジェクト

Set wdoc = wdocs.Open(sDocFile) 

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 

ただし、次の行は、巨大な悲しみを引き起こしていますこの段階で凍る。私は、各行の後にWriteLineを置いてどこで停止するかを見て、非常に単純なデバッグによってこれを確認しました。

Wordは100%CPUを消費し、スクリプトはそのステップを決して通過しません。

Word ActiveXオブジェクトで何が起こっているのか、そしてなぜそれがぶら下がっていて、戻ってこないのかを調べるために、デバッグを行うにはどうすればよいですか?

答えて

2

Wordがあなたのプロンプトを待っている可能性があります。私はWordを見えるようにして、問題が何であるかを視覚的に見ることができるかどうかを確認します:

Set wdo = CreateObject("Word.Application") 
    'if memory serves, this should make Word visible 
    wdo.Visible = true 
    Set wdocs = wdo.Documents 
+0

完璧です。私は、ローカルアカウントから実行されたときにすべてが正常であることを知ることができますが、 'system'アカウントから実行するとセキュリティエラーが発生します。 –

関連する問題