読者です 読者をやめる 読者になる 読者になる

アナログCPU:5108843109

ゲームと音楽とプログラミング(酒と女とロックンロールのノリで)

ブックを開くとき/閉じるときの処理

普通どおり標準モジュールにマクロを作るとき、プロシージャ名を
「Auto_Open」にすればブックを開いたとき、
「Auto_Close」にすれば閉じるときに
そのプロシージャが起動します。

「ブックを開いたら今日のおみくじを表示」みたいなお遊びから
「閉じる前に設定内容等を強制保存」まで色々と使えそうです。

尚、イベントプロシージャを使用する方法もあります。
詳細はこちら。
エクセルExcel大事典 VBAマクロ イベントプロシージャ Open Target Cancel EnableEvents Volatile

これだけではなんなのでサンプルを。
ブックを開閉するタイミングで特定のシートを非表示にするサンプルです。

Option Explicit

Const SHEETNAME As String = "samplesheet" 'シート名

'*
'* ファイルオープン時の自動実行
'*
Public Sub Auto_Open()
    ' シートを非表示に(VeryHiddenならExcel画面での再表示は不可)
    ThisWorkbook.Sheets(SHEETNAME).Visible = xlSheetVeryHidden
   
End Sub

'*
'* ファイルクローズ時の自動実行
'*
Public Sub Auto_Close()
    ' シートを非表示に
    ThisWorkbook.Sheets(SHEETNAME).Visible = xlSheetVeryHidden
End Sub