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も見ています
-
初めて見た映画を教えてください!
初めて見た映画を覚えていますか?
-
【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
【お題】 『寿司』がテーマの本のタイトルを考えてください
-
今の日本に期待することはなんですか?
目まぐるしく、日本も世界も状況が変わる中、あなたが今の日本に期待することはなんですか?
-
あなたの人生で一番ピンチに陥った瞬間は?
これまでの人生で今振り返ると「あの時、1番ピンチだったなぁ...」という瞬間はありますか?
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
EXCELのマクロの重複起動の禁止
Excel(エクセル)
-
VBAで二重起動を防止したいのですが、
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba アプリケーションが立ち上...
-
C# 管理者権限で起動したアプリ...
-
Accessフォームからの外部アプ...
-
WSH(VBScript)でアプリケーショ...
-
Ms draw を使ってみたい
-
VB.NETでフォームアクティブの...
-
pccNTmon.exeとntrtscan.exeの違い
-
コンソールアプリケーションの...
-
PHPでのsystem関数の処理ができ...
-
他アプリケーションの終了
-
アプリケーションエラー 0xc00...
-
タスクスケジューラからの起動
-
INIファイルとAPP.CONFIGについて
-
初回接続の遅い原因について
-
VB.NETで起動させたExcelの多重...
-
フレームワーク「4.8.1」で、[S...
-
VBからACCESSのデータを...
-
vcxprojファイルの修正法???
-
実行時のコマンドプロンプトを...
-
vb.net2003での二重起動防止に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンソールアプリケーションの...
-
フレームワーク「4.8.1」で、[S...
-
Vba アプリケーションが立ち上...
-
VBSでのSendKeysでの画面の最小化
-
Accessフォームからの外部アプ...
-
初回接続の遅い原因について
-
イラストレーターCS4のシリアル...
-
pccNTmon.exeとntrtscan.exeの違い
-
自分自身を更新するプログラム
-
C#でGUI・CUIの判断する仕方を...
-
VB.NETでフォームアクティブの...
-
VB.NETでMessageBoxを表示した...
-
VB.NETで起動させたExcelの多重...
-
WSH(VBScript)でアプリケーショ...
-
Windowsプログラムのビジー状態...
-
対象のアプリケーションが終了...
-
vcxprojファイルの修正法???
-
実行時のコマンドプロンプトを...
-
MFCアプリケーションでの終了コ...
-
SetWindowPosについて
おすすめ情報