2016-11-09 12 views
0

現在、私はVBSファイルからVisioを開いて動作させています。ただし、マクロが終了するたびに、Visio.exeがタスクマネージャの[アクティブなプロセス]に残っています。VBSファイルからVisioを閉じる

問題は、マクロを複数回実行すると、そこに座っているVisio.exeが複数あることになります。

どのようにしてVisioファイルを効果的に閉じることができますか?ここで

は私のコードです:

Sub MacroExample() 

    Dim AppVisio 
    Set AppVisio = CreateObject("visio.InvisibleApp") 
    Dim vsoDoc 

    Set vsoDoc = AppVisio.Documents.Open("filepath\file.vsd") 

    vsoDoc.ExecuteLine ("MacroName") 
    Set vsoDoc = Nothing 
    set AppVisio = nothing 
    vsoDoc.close 
    appvisio.quit 
End Sub 

意図したようにこれらの2行は動作しませんの?右方向への

vsoDoc.close 
    appvisio.quit 

すべてのヘルプ/ポインタが評価されて(私のインターネット検索、私は類似したコードに関するすべての話に出くわしました文書に基づいています。私は、これらの2がプロセスを閉じるだろうと思いました)! (ここではすべてのコードを注意してVisioの内部で意図したとおりに動作している)

+1

私は.Quit'呼び出し '' .Close'を維持したいコードの再配置されていますが、終了時に 'Set appVisio = Nothing'を追加してみてください。 –

+0

コードの並べ替えが機能しました!どうもありがとう!! – Dingo

答えて

0

をこの質問への答えは

vsoDoc.close 
appvisio.quit 

'put this at the end instead of beginning 
Set vsoDoc = Nothing 
set AppVisio = nothing 
関連する問題