-PR-
解決済み

VBからExcelを起動しExcel終了を判定したい

  • すぐに回答を!
  • 質問No.19995
  • 閲覧数1931
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 69% (36/52)

前回の質問に続く内容なのですが、Excelの起動は
おかげ様でうまくいきました。
が、直後のコーディングが???
Excelを起動後にモーダルで終了を待ちたいのですが
どうすればよいのか分かりません、HELPをめくっている際にちらっと見た覚えはあるのですが、それがどこにあったのか探せなくなりました。
助けてください!
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル13

ベストアンサー率 46% (643/1383)

はいはい(笑)
#19166の続きってことですので、Excelを使うのに New Excel.Application で、Excelのインスタンスを作成しているわけですよね。
それでしたら、ExcelApp変数の Visibleプロパティを見れば動いてるかどうか分かるみたいです。

以下、プログラム例です。

'*-*-*-この部分はモジュールの先頭部分に記述*-*-*-
'寝る為のAPI Call SLEEP(寝るミリ秒数)
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'*-*-*-ここまで*-*-*-

Private Sub Command2_Click()
  Dim ExcelApp As Excel.Application
  'Excelのインスタンスを作成して表示
  Set ExcelApp = New Excel.Application
  ExcelApp.Visible = True
  
  'Excelが終了されるとVisibleがFalseになる
  'ので、それまで待機
  Do
    Call Sleep(250) 'しばらく寝る
    DoEvents
  Loop While ExcelApp.Visible = True
  
  'Excel終了時の処理
  MsgBox "Excelが終わったよん"
  
  'インスタンスの開放
  Set ExcelApp = Nothing
End Sub


*****************************************
尚、Shellコマンドを使って起動した場合には、
Dim TaskID as long
TaskID=Shell("Excel.EXE …")
on error resume next
do
 Err.Clear
 AppActivate TaskID
Loop Until Err<>0
Msgbox "Excelが終わったよ"
みたいな感じで、アプリの起動を監視できます


返事は一回!
お礼コメント
rukaandkaito

お礼率 69% (36/52)

まっことおおきに!(土佐弁どえす)
うまくいきました。
非常に助かりました。
ARCさん、師匠と呼ばせてください(笑)
投稿日時 - 2000-12-19 09:49:30
関連するQ&A
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ