• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アプリからVB(Form))

アプリからVB(Form)の初心者向けコードについて

このQ&Aのポイント
  • アプリからVB(Form)の初心者向けコードについての質問です。
  • Form1が開いている状態で、Form1のcommand1ボタンを押すとForm1が最小化され、WORDが起動しファイルが開きます。その後、WORDが終了するとForm1が再び開かれるような処理のコードにて問題が発生しています。
  • 5番と6番の処理で詰まっており、解決方法を教えていただきたいです。

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

  • ベストアンサー
回答No.1

手元にVB環境があれば試してあげたいけど、無いから正常に動くかどうかは未確認ですが・・・スペルミスもあるかも^^; 5.本来なら起動したWordのタスクIDを監視して終了判断すべきですけど、 簡単に実現するならばwdApp.Visibleの状態を監視すれば可能です。 6.WindowStateをノーマルに戻せばいいのでは? 【コード】 ----------------------------------------------- 'Win32 API(グローバルエリアに定義しましょう) Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) ----------------------------------------------- Private Sub Command1_Click(Index As Integer) Dim wdApp As Object Dim ThisPos As Long WindowState = vbMinimized '☆---Add start  'もし画面が最小化にならないならこの一文を入れてください 'DoEvents '☆---Add start Set wdApp = CreateObjec("Word.Application") wdApp.Visible = True Set wddocuments = wdApp.Documents.Open("C:\test.doc") ThisPos = Application.WindowState 'アプリの画面表示を変更する If ThisPos = wdWindowStateNormal Then wdApp.WindowState = wdWindowStateMaximize Else wdApp.WindowState = wdWindowStateMaximize End If '☆---Add start 'Wordの終了を監視 Do Until (wdApp.Visible = False) Sleep 500 Loop '画面状態を戻す WindowState = vbNormal '☆---Add e n d Set wdApp = Nothing End Sub

kena1969
質問者

お礼

siddhaartha様 有難うございます。 Do 条件 で良かったのですね。 助かりました。

関連するQ&A