ExcelVBAのユーザーフォームについて教えて下さい。 マルチページで作成し、アイコンをクリックしてファイルを開くと、マルチページのみが表示される仕様にしました。 <ThisWorkbook> Private Sub Workbook_Open() Application.Visible = False UserForm.MultiPage1.Value = 0 UserForm.Show End Sub そして、マルチページ内にボタンを配置して、そのボタンをクリックすると、マルチページが終了するとともに、マルチページが埋め込まれているExcelファイルを(他のExcelファイルが動作中はそれらは何もしないでそのまま)閉じたいのです。 <UserForm> Private Sub CommandButton_Click () Dim msg As String, title As String msg = "プログラムを終了します。よろしいですか?" title = "終了確認" Dim res As Integer res = MsgBox(msg, vbYesNo + vbInformation, title) If res = vbYes Then Unload Me End Sub と書いてみました。 マルチページの画面はExcelの作業画面なしに開きます。ボタンをクリックするとマルチページが終了します。 ですが、「マルチページが閉じてExcelの作業画面も表示されず、一見終了したように見えるが、タスクマネージャーのプロセスではEXCEL.EXEが動作している」ことがあったり(他にExcelファイルを開いていないときも同様です)、「マルチページ終了後にExcelの何もない作業画面が表示」されます。そのファイルを閉じてもよいのですが、せっかくマルチページで、単独のアプリのようにしているので、マルチページを閉じて、Excelを閉じて…という、二度手間的なことはしたくないと思っています。 マルチページに配置したボタンをクリックしただけで、マルチページを終了させ、マルチページが埋め込まれているExcelのみも正常に終了させることはできますでしょうか? ご教授頂きたくお願い致します。 ちなみに「×」ボタンでの終了はNGとしています。
↧