- PR -

EXCELのプロセス制御

1
投稿者投稿内容
またきち
会議室デビュー日: 2003/11/07
投稿数: 8
投稿日時: 2005-09-08 18:10
現在Windowsアプリケーション(C#)からEXCELを操作するシステムを作成しています。
処理自体に特に問題は発生していないのですが、
処理中に別EXCELを起動したりすると以下の問題が発生しており苦慮しています。

1.作成したアプリにてEXCELを起動
2.作成したアプリがEXCEL操作処理中に既存のEXCELファイルを開く(ダブルクリック)
3.1.と同一プロセスのEXCELにて既存ファイルを開いてしまうので作成したアプリのEXCEL操作が見えてしまう

ちなみに既にEXCELを起動した状態であれば、作成したアプリのEXCEL操作を開始し、その処理中に別のEXCELファイルを開いて上記問題は起きません。
EXCELアプリケーションの起動の仕方などで回避する方法はないでしょうか?

以下ソースの抜粋と開発環境です。
===========================================
Excel.Application exlApp = null;
Excel.Workbook exlBook = null;
Excel.Worksheet exlSheet = null;

exlApp = new Excel.Application();
exlBook = (Workbook)(exlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet));
exlApp.Visible = false;
exlApp.DisplayAlerts = false;



以下セル値設定等の処理
===========================================

開発環境
OS:Win2000
Office:OfficeXP
.NET Framework1.1

以上、よろしくお願い致します。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-09-10 00:18
 エクスプローラを出して、「ツール」メニューから「フォルダオプション」→「ファイルの種類」→エクセルファイルを選択して「詳細設定」→「開く」を選択して「編集」と進んでください。
 「アクションの編集」ダイアログで「DDE を使う」がチェックされていますよね。このチェックをはずせば、毎回別のインスタンスが起動するようになります。

 エクセル VBA から DDE を受け付けないような制御ができるなら、お望みの制御も可能だと思います。

_________________
1

スキルアップ/キャリアアップ(JOB@IT)