

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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- ノートパソコン EXCEL のドキュメントの回復について 2 2023/03/19 17:16
- Excel(エクセル) VBAで複数のExcelを1つのExcelにまとめる 1 2022/09/04 11:08
- Excel(エクセル) Excel起動時にエラーダイアログが表示される 3 2022/07/28 19:52
- Excel(エクセル) Excelのウィンドウが少し小さく、ズレて立ち上がります 1 2022/06/27 16:25
- その他(パソコン・スマホ・電化製品) CMD等でPC操作(excel開く等)を自動化させたい 1 2023/03/15 09:53
- Visual Basic(VBA) vba メモリ節約 3 2022/09/16 21:45
- Visual Basic(VBA) VBA 登録ボタンを省略してエンターキーで作業 4 2022/07/09 22:29
- その他(Microsoft Office) PCを買い換えました。 今使っているノートパソコンが10年以上使っており新しく買い換えました。Win 5 2023/03/26 00:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
送られる内容
-
ホームページビルダー8
-
Ms draw を使ってみたい
-
VB2008で作成したアプリケーシ...
-
Xwinについて
-
VBからExcelのテキスト...
-
CPU使用率100%・・・
-
別プログラムの起動の仕方に関して
-
ライセンス認証サーバー
-
メモ帳を好きな位置で開くには?
-
何点かあるのですが・・・
-
下記のアプリケ-ションの役割り...
-
パソコンの起動が遅く、おもた...
-
Java でイメージの挿入は行えま...
-
VBからaccess UserControl
-
Xcodeでのアプリケーションの発...
-
キーボードで、英字が先に表示...
-
もう一度質問させてもらいます...
-
韓国のOSで文字化けしてしま...
-
ログオフ状態からのスクリーン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フレームワーク「4.8.1」で、[S...
-
コンソールアプリケーションの...
-
Vba アプリケーションが立ち上...
-
初回接続の遅い原因について
-
VBSでのSendKeysでの画面の最小化
-
イラストレーターCS4のシリアル...
-
pccNTmon.exeとntrtscan.exeの違い
-
VB.NETでMessageBoxを表示した...
-
VB6の強制終了について
-
OSによるWinExecの動...
-
C#でGUI・CUIの判断する仕方を...
-
vb6で異なるのプロジェクト間で...
-
対象のアプリケーションが終了...
-
WSH(VBScript)でアプリケーショ...
-
VB6での二重起動(複数起動)の制...
-
必須コンポーネントと起動条件...
-
アプリケーションをVBS(WSH?)で...
-
Windowsプログラムのビジー状態...
-
自分自身を更新するプログラム
-
httpd.pidって何ですか?
おすすめ情報