2016-09-07 49 views
2

Excelのコマンドで奇妙な動作が検出されました。Excel Application.QuitでEXECL.EXEプロセスが終了しない

以下のVBScriptスクリプトは、この問題を再現します。ここでQuitエクセル

  • への試みは
  • それは...

    1. 開く新しいExcelインスタンスを作成し、(WorkbooksToCreateによって制御される)ワークブックのセット数を閉じないものですし、それは本当にエクセルかどうかを証明していますVisibleの状態をTrueに戻して終了しました

    私が収集したことは、QuitWorkbooksToCreateは0または1に設定されます.2以上に設定すると、Excelは正常に終了しません。私はWindows 7の

    にエクセル2010を使用してい

    'Switch this between 1 and 2 to see the difference 
    '(1 = quit correctly, 2 = quit only changes the .visible to false) 
    Const WorkbooksToCreate = 2 
    
    'Create new Excel Instance 
    Set xlApp = CreateObject("Excel.Application") 
    xlApp.Visible = True 
    
    'Add, and then close workbooks 
    For w = 1 to WorkbooksToCreate 
        Set WB = xlApp.Workbooks.Add 
        WB.Close False 
    Next 
    
    'Attempt to Quit Excel 
    xlApp.Quit 
    
    'Test it really did quit 
    xlApp.Visible = True 
    
    Set xlApp = Nothing 
    

    私はこの上の多数のバリエーションを試してみたが、問題が何であるかを確立することはできません。この場合、xlApp.QuitはすべてxlApp.Visible = False

    と同等であることがわかります。もし皆さんの運が良ければ誰にも分かりますか?

    おかげですべてのマシンでは発生しません、これを識別するための@omegastripesと@Mikegrannへ

  • +0

    ん[このスレッド](http://stackoverflow.com/a/26303330/4650297)任意のを助けますか? – BruceWayne

    +0

    ループが動作する前に小さなポーズを置くのが好きです。このインスタンスで複数のワークブックを作成する速度がExcelをハングアップするのではないかと思います。 @BruceWayne。 –

    +2

    。私はそのようにできることを知っています。しかし、なぜ誰かが2つのブックを開くことが1つを開くか、または2つのブックを開くことと異なるのかを説明することができれば、さらに、プロセスIDを知らなくても、開かれたものとは異なるExcelのインスタンスが閉じる可能性があります。ありがとう – Skytunnel

    答えて

    1

    +1。

    私はさらに調査し、問題が自分の仕事用ノートパソコンに固有のものであることを発見しました。この問題は他のマシンでは複製できません。

    しかし、私は正常にトレースし、障害を修正しました。 1つの特定のCOMアドインがCiscoClickToCall.Connectと表示されています。これがアンインストールされると、スクリプトは正常に動作し始め、正常に終了しました。

    Windowsから完全にアンインストールする必要はありませんでした。 Excelからアドインを削除するだけで十分だったでしょうが、それは私がそれを取り除くだけのために何も使用していないアプリケーションでした。

    アドインが意図していたことは、コンテキストメニューコマンドをセルの右クリックに追加することでした。みんなの助けを

    おかげ

    関連する問題