

VB.NETで起動させたExcelの多重起動を禁止させるには?
[前提条件]
VB.NETには、「Excelを起動させるボタン」と「Excelを終了させるボタン」があるとします。
「Excelを起動させるボタン」によって既存のExcelファイルを起動させ、
「Excelを終了させるボタン」によって起動中のExcelファイルを終了させたいと思います。
Excelを起動している最中は、VBとExcelとでデータの受け渡しをします。
[問題・課題]
この方法ですと、「Excelを起動させるボタン」を押下するたびに、同じ既存のExcelファイルを多重起動されてしまいます。
ネット上にある参考文献を調べると、ひとつの関数(?)内で
アプリケーション open ⇒ データの吸出し ⇒ アプリケーション close
となっていました。
[前提条件]で述べている使い方で、実現可能な方法があれば教えてください。
(参考になりそうなWebアドレスだけでも構いません)
以上、よろしくお願いします。
No.3ベストアンサー
- 回答日時:
こんばんは、No.1です。
>何とか、識別をしているようです。
お、いけそうですね。
>ところで、最後の行
>MRComObject(ProGet)
>は、何ですか?
VB花ちゃんにのっています。
↓のアドレスのExcel・Word・他(30)の中
http://hanatyan.sakura.ne.jp/dotnet/index.html
Excelのプロセス開放コードです。
>それと、質問漏れをしていましたが、Excelのプロセスを開放する方法を御存知でしたら、教えてください。
沢山あるので、ここでは少し難しいですねー。。
一瞬で手に入るスキルでもないので、下の順序で進めるのがおそらく
一番早いかも。
まずは宣言の書き方をミスった時点でアウトになるので、上のページにある
宣言方法にすべて書き直して下さい。
次に宣言文以外のコードをすべて消す→実行
→解放されなければ宣言文再確認 or ここに新規質問で再投稿
解放されるようになったら、宣言以外のコードを少しずつ加えていって、
都度解放確認。
あと、VB中学校
http://homepage1.nifty.com/rucio/main/technique/ …
も丁寧にまとめて下さっているのでお勧めです。
頑張ってb
御丁寧な回答に、感謝します。
デバッグモードで、MRComObjectの行を実行しても終了しなかったので
困っていました。
これで、プロセス終了まで出来る様になりました。
重ねて、感謝します。
No.2
- 回答日時:
ありがとうございます。
mutexを試してみましたが、Excelを認識してくれませんでした。
単に、私の組み込み方が悪かったかもしれません。
情報提供に、感謝します。
No.1
- 回答日時:
こんにちは。
Excelが起動しているかどうかを調べる、とかはありでしょうか?Dim ProGet As Object = Process.GetProcessesByName("EXCEL")
If ProGet.Length > 0 Then
Msgbox("起動しているExcelを終了してから再度実行してください。")
Exit Sub
End If
MRComObject(ProGet)
少しでもお役に立てば。
この回答への補足
ありがとうございます。
何とか、識別をしているようです。
ところで、最後の行
MRComObject(ProGet)
は、何ですか?
当方のVBでは、認識されませんでした。
それと、質問漏れをしていましたが、Excelのプロセスを開放する方法を御存知でしたら、教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フレームワーク「4.8.1」で、[S...
-
vcxprojファイルの修正法???
-
MFCアプリケーションでの終了コ...
-
コンソールアプリケーションの...
-
VBSで2バイト文字の送り方の質...
-
VB6の強制終了について
-
OSによるWinExecの動...
-
外字文字の登録
-
Vba アプリケーションが立ち上...
-
vb6で異なるのプロジェクト間で...
-
FOM出版の公認テキスト&問題集...
-
vb.net2003での二重起動防止に...
-
VB6での二重起動(複数起動)の制...
-
アプリケーションをVBS(WSH?)で...
-
VB2008で作成したアプリケーシ...
-
Accessフォームからの外部アプ...
-
VBSでのSendKeysでの画面の最小化
-
対象のアプリケーションが終了...
-
Macターミナルで実行中のプログ...
-
VBSの処理中一旦処理を止めて再...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WSH(VBScript)でアプリケーショ...
-
フレームワーク「4.8.1」で、[S...
-
VB.NETでMessageBoxを表示した...
-
コンソールアプリケーションの...
-
SetWindowPosについて
-
pccNTmon.exeとntrtscan.exeの違い
-
Accessフォームからの外部アプ...
-
初回接続の遅い原因について
-
Console Applicationをタスクト...
-
VBSでのSendKeysでの画面の最小化
-
Vba アプリケーションが立ち上...
-
イラストレーターCS4のシリアル...
-
MFCアプリケーションでの終了コ...
-
実行時のコマンドプロンプトを...
-
C#でGUI・CUIの判断する仕方を...
-
アプリケーションをVBS(WSH?)で...
-
OSによるWinExecの動...
-
vb6で異なるのプロジェクト間で...
-
SYSTEM権限でプロセス機動
-
VB.NETでフォームアクティブの...
おすすめ情報