[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『vbaでエラーが起きた場合vbsをエラーにしたい。』(nobuhiko)
vbsを、クリックして、 エクセルvbaを動かしていますが、 vbaで、エラーが出た場合、 エクセルを閉じて、 vbs のmsgboxでエラーと表示したいのですが、 可能しょうか?
可能ならば、どうかヒントを頂戴したく投稿させて頂きました。
どうか、宜しくお願い致します。
直接の回答ではないですが。 ↓のどちらになるかで回答が変わってくる可能性があります。
1.VBSから直接ブックのマクロに引数を渡して実行している
2.VBSはマクロブックを起動するだけで、ブックの起動時にブックのイベントや Auto_Openでマクロを実行している (カリーニン) 2013/10/27(日) 18:23
カリーニンさん こんにちは。
レスありがとう御座います。
1番です。
すみませんが、宜しくお願い致します。 (nobuhiko) 2013/10/27(日) 18:40
VBS ではプロセス間通信ができないので、何らかの代替手段になりますが、 VBA 側でエラーハンドリングをし、エラーが発生したら MgsBox を表示して 終了するのではダメでしょうか。
ややこしいですけれどVBA から VBS を実行することで、VBS のメッセージボックス (WScript.Echo or MsgBox?)を表示することはできます。
EXCEL の MsgBox で何かダメな理由があるでしょうか。 (Mook) 2013/10/28(月) 10:27
Mookさん、お返事有難う御座います。
MsgBoxのやり方が、わからないので、どうかご教示をお願いします。
すみません。
コードは、なかなか提示できなくてすみません。
隠す必要はないのですが、組み込みの為、なんだかわからなくなっています。
すみません。
先に、私に付きましてお伝えします。
私は、vbaのある程度までしかわかりません。
また、他の言語はと言いますと皆無です。
すみません。
現在、実行していることをお伝えします。
まず、ユーザーがアプリで、ある程度まで行ったところで、手を止めます。
そこで、vbsをクリックして、アプリを動かしています。
vbsは、エクセルのvbaをRunします。 (言葉的に変だったら、すみません。)
os,excelは、win7 excel2010を使っています。
エクセルをユーザーが使っている時もあるので、
新規でエクセルを起動してマクロを実行しています。
そこで、そのアプリなのですが、手を止めるところは、
ユーザーに指示をしていますが、ミスを犯す場合があります。
なので、エラーの時は、エラー。
全て、最後まで行けば、OKとメッセージ出したいと思いました。
エクセルを最小化してやっているのですが、
何故か、メッセージボックスが、最前面に出ません。 (力不足だと思います。)
なので、投稿させて頂きました。
この形で、msgboxが出れば、エクセルでも、vbsでも、どちらでも問題は御座いませんでした。
すみません。
今は、エクセルを閉じる前に、1か2をセルに書き込んで、
vbsがそれを見に行き、エクセルを終了してから、vbsのIF関数で
メッセージボックスを出す。所までは、行けたのですが、
OKの時は、最前面に出てくれるのですが、
エラーの時は、出なく、苦戦しています。
これが出来ましたら、スレッドを閉じさせて頂こうかと思っていました。
長くなりすみません。
また、理由になっていない場合は、申し訳御座いません。
宜しくお願い致します。
(nobuhiko) 2013/10/28(月) 12:11
>何故か、メッセージボックスが、最前面に出ません。 (力不足だと思います。) が解決すればよいのでしょうか。
最小化しているということでしたら、出したいメッセージの直前で Application.WindowState = xlMaximized を置いてもダメでしょうか。
(Mook) 2013/10/28(月) 16:17
Mookさん 色々ありがとう御座いました!
また、宜しくお願い致します。
(nobuhiko) 2013/10/28(月) 17:43
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.