初心者のためのExcel エクセルマクロVBA入門:開いた(閉じた)と同時にマクロを動かす
自動マクロはもろ刃の剣
この手法は、正直あまりお勧めはしていないのですがファイルを開いた後に独自のツールバーを作りたいとか、そういった要望に応える場合にこの方法を使ったりします。ですので、あまりエクセルの体裁自体が、大きく変わる動作のようなマクロを自動でぶっこんだりすると・・・
( ゚д゚)?ふぁぁ?ウィルスとかなのか?
とか思われがち。
注意。
Auto_Openプロシージャを作る
Auto_Openプロシージャはファイルを開いた時にまず最初に自動で実行されるプロシージャです。このプロシージャは自分で作らないと自動では作られません。当たり前ですけど。。。
Private Sub Auto_Open() ' ここに書かれている内容が自動で実行される End Sub
これは、ぶっちゃけちょっと怖いプロシージャです。なぜならユーザーが意図しない動きをさせることが可能だからです。しかもそのトリガーはファイルを開くだけ。
( ゚д゚)コワイ?
ちゃんと作ればいいのですが、このAuto_Openプロシージャの処理になんか重大なエラーがあったりするとファイル自体が壊れることもあるのでご利用は計画的に。
閉じる時に自動で実行するAuto_Close
Auto_Openと対をなすのが、Auto_Closeプロシージャです。これはファイルを閉じた時に自動で実行されます。例えば、このファイルにコピーした顧客データは必ず閉じる前に消さなければいけない。とかそんな場合にはこのAuto_Closeメソッドに書いておけば、データの消し忘れを防げますし、閉じる前に必ず確認する処理なんかも入れることができます。
こちらはなかなか便利なプロシージャです。
Private Sub Auto_Close() ' ここに書かれている内容が自動で実行される End Sub
今日はここまで!
かしこ