Excel がクリップボード操作で応答しなくなる場合がある

文書番号 : 17448     文書種別 : 不具合     最終更新日 : 2005/05/12
文書を印刷する
対象製品
El Tabelle for .NET 2.0J
発生環境
すべてのアセンブリ
状況
新バージョンで修正済み
詳細
El Tabelle のシートを貼り付けたフォームから Excel を呼び出し、Excel のクリップボード操作を行うと、Excel が応答しなくなります。

以下は、Excel を呼び出すコーディングの例です。

[Visual Basic]
Dim objProcess As Process
'プロセスを開始する
objProcess = Process.Start("C:¥Book1.xls")
'プロセスウィンドウが読み込みを完了するのを待機する
objProcess.WaitForInputIdle()
'プロセスが終了するのを待機する
objProcess.WaitForExit()

[C#]
System.Diagnostics.Process objProcess;
//プロセスを開始する
objProcess = System.Diagnostics.Process.Start(@"C:¥Book1.xls");
//プロセスウィンドウが読み込みを完了するのを待機する
objProcess.WaitForInputIdle();
//プロセスが終了するのを待機する
objProcess.WaitForExit();

・この現象は El Tablle for .NET (1.0) でも発生します。
回避方法
この現象は、El Tabelle が Excel に似たクリップボード機能を提供していることが原因です。El Tabelle と Excel では、シート内のコピー表示枠を制御するためにクリップボードの状態を監視しています。このため、両方のアプリケーションが1つのスレッドで実行されたとき、クリップボードを監視する処理が競合し、応答を待機している間はアプリケーションが停止する状態となってしまいます。
この現象は El Tabelle だけでなく、Visual Studio Tools for Office System で Excel から Excel を呼び出すアプリケーションを作成した場合でも同様に再現します。

この現象は、El Tabelle for .NET 3.0 では発生しません。
キーワード
ELTB04150

この文書は、以前は次のバグレポートIDで公開されていました : 4850