タイトル : Re: VBからエクセルを操作する MSGBOX 投稿日 : 2011/07/13(Wed) 13:31 投稿者 : 魔界の仮面弁士
> 順番が VB、MSGBOX、エクセル になってしまいます。 > VB、エクセル、MSGBOX の順に出すにはどうすればいいのでしょうか? 直接は無理なので: ============================================= (案1) メッセージボックス表示中は、VB を最小化もしくは非表示にしておく。 AppExcel.Visible = True Me.WindowState = vbMinimized 'MsgBox "完了しました。", vbInformation Or vbSystemModal MsgBox "完了しました。", vbInformation Or &H40000 Or vbMsgBoxSetForeground Me.WindowState = vbNormal ============================================= (案2) Excel マクロ で MessageBox API を呼び出す。 AppExcel.Visible = True cmd = "CALL(""USER32"", ""MessageBoxA"", ""JJCCJ"", " & CStr(AppExcel.hWnd) cmd = cmd & ", ""完了しました。"", ""タイトル""," & CStr(vbInformation) & ")" ret = AppExcel.ExecuteExcel4Macro(cmd) 'http://office.microsoft.com/ja-jp/excel-help/HP010062480.aspx ============================================= (案3) MsgBox を呼び出す VBA コードを持った C:\MsgBook.xlsm を作っておき、 それを AppExcel.Run もしくは AppExcel.ExecuteExcel4Macro で呼び出す。 (または、AppExcel.VBE.VBProjects で VBA コードを動的生成) |