Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9095 / 13644 ツリー ←次へ | 前へ→

【29323】ブッククローズの認識 mam 05/9/30(金) 17:12 質問[未読]
【29344】Re:ブッククローズの認識 [名前なし] 05/10/1(土) 21:58 回答[未読]
【29366】Re:ブッククローズの認識→引用中 mam 05/10/3(月) 10:41 お礼[未読]
【29367】Re:ブッククローズの認識→引用中 mam 05/10/3(月) 11:06 お礼[未読]

【29323】ブッククローズの認識
質問  mam  - 05/9/30(金) 17:12 -

引用なし
パスワード
   こんにちは。
 ブックが手動にてクローズされたことを判断して、以降の操作をしたいと考えています。
過去Qの検索をして、BeforeCloseを使用してできるかと思いましたが、クローズする前での処理となる様で、思う様な動作を考え付きませんでした。何分初心者で、説明に曖昧な所があるかもしれませんが、何卒、ご教授願います。

現在の状況
 ・ブック1にマクロが組み込まれています。
 ・ブック1よりAddにてブック2を開いて、ブック1のシート1をシート毎コピーして、ブック2に貼り付けています。(←マクロなしのファイルとして保存したいため)
 ・ブック2を保存した後に、手動でクローズ「×」が押された時、ブック1側でそれを判断して、ブック1を自動にクローズしたいと考えています。
 ブック2のクローズに合わせてブック1も閉じると言うことで、ブック1の自動クローズは下記にて動作しております。

 Application.DisplayAlerts = False
 Application.Quit
 With Workbooks(1)
   .Activate
   .RunAutoMacros xlAutoClose
 End With
 Close

 よろしくお願い致します。

【29344】Re:ブッククローズの認識
回答  [名前なし]  - 05/10/1(土) 21:58 -

引用なし
パスワード
   ブック1のほうで、VBEのメニュー「挿入」→「クラス モジュール」でクラスモジュールを
挿入します。

挿入されたクラスモジュールのオブジェクト名を「CloseCheck」に変更し、次のコードを
記述します。

Private WithEvents App As Excel.Application

Private Sub Class_Initialize()
  Set App = Application
End Sub

Private Sub Class_Terminate()
  Set App = Nothing
End Sub

Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
  If Wb.Name <> ThisWorkbook.Name Then
    MsgBox Wb.Name & "が閉じられました。" '確認用メッセージ
    'ここにブック1を閉じる処理を記述
  End If
End Sub

次に、ブック1のThisWorkbookモジュールに、以下の記述をします。

Private App As CloseChack

Private Sub Workbook_Open()
  Set App = New CloseChack
End Sub

これで、ブック1を開きなおして、ブック2を手動で閉じてみてください。

【29366】Re:ブッククローズの認識→引用中
お礼  mam  - 05/10/3(月) 10:41 -

引用なし
パスワード
   ご返答ありがとうございます。(週末自宅にて参照できず、お礼が遅くなりました。)

書き込んで頂きました、コードを一ずつ「HELP」で検索しながらの
コーディング中です。
一応動きとしては、希望のブック2の手動クローズにて、ブック1のオートクローズが可能になった様です。

ですが、その前の操作でモジュール1でワークブック追加している辺り(まだ検証中です)で、「オートメーションエラー」となって、ブック1を追加後の、コピー処理などが起動しないので、思案しております。

初心者故に、何が良いのやら、悪いのやらもわからず、しばらくまた葛藤してみます。

【29367】Re:ブッククローズの認識→引用中
お礼  mam  - 05/10/3(月) 11:06 -

引用なし
パスワード
   お騒がせ致しました。下記のエラーについては、私の確認ミスでコード内の
Windowsの参照指定にあやまりがありました。すみませんでした。

無事に解決に至りました、、、引き続きコードの意味(?!)を解読していきたいと思います。
本当にありがとうございました。

>ですが、その前の操作でモジュール1でワークブック追加している辺り(まだ検証中です)で、「オートメーションエラー」となって、ブック1を追加後の、コピー処理などが起動しないので、思案しております。
>
>初心者故に、何が良いのやら、悪いのやらもわからず、しばらくまた葛藤してみます。

9095 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free