マクロつきExcelファイルを開いただけで勝手にマクロ実行されるものに出くわしたたことはないでしょうか。
利用者が意識しないところでマクロ実行することで利便性を高めているのだとは思いますが、これが逆に困る場合もあります。
例えば、処理を終えると勝手にファイル(Excelブック)を閉じてしまうようなケース。
マクロがうまく動いているうちはいいのですが、マクロがバグっていておかしな処理をしているにもかかわらず勝手にブックが閉じられてデバッグできない、、、なんてことになる場合があります。
また、ファイルの中身をちょっと見たいだけなのに開くと同時にマクロでデータ更新されちゃうようなケース。
前回までの値が見たいのに、開くと同時に値が更新されちゃって困る、、、みたいな場合です。
こんなときに今回ご紹介する方法を使えば、マクロ処理を実行させずにExcelファイルを開くことができます。
Excelファイルオープンと同時に実行されるマクロの例
▼今回のデモ用にマクロつきExcelファイルを作成しました。「sample01.xlsx」がそれです。
まずは普通にダブルクリックして開いてみます。
▼ファイルを開くと勝手にメッセージが表示されます。
▼その後、ブックが閉じられてしまいました。
▼今回サンプルで作成したVBAのコードは以下です。
見る人が見ればわかると思いますが、ワークブックを開いたときにメッセージボックスを表示し、そのままワークブックを閉じるというコードです。
Excelファイルを開いてもマクロで勝手に閉じられてしまうので、このコードを修正したくてもできない!…という状況になってしまいます。
マクロを実行させずにExcelファイルを開く方法
では、マクロを実行させずにExcelファイルを開く方法をご紹介します。
今回はExcel2010で説明しますが、これ以降のバージョンであればほぼ同じような操作でできるはずです。
まず、Excelを起動します。Excelファイルをダブルクリックするのではなく、単にExcelだけを起動させます。
▼その後、「ファイル」タブ→「開く」をクリック。
▼「ファイルを開く」ダイアログが表示されます。
ここで例のマクロ付きExcelファイルを開くのですが、重要なポイントが1つあります。
それは「Shiftキーを押しながらダブルクリックする」ということです(ファイルを選択した後、Shiftキーを押しながら「開く」ボタンクリックでも可)。
ShiftキーはExcelファイルが開くまでずっと押しっぱなしにしておいてください。
▼すると、Excelファイルが開きますがマクロは実行されていません(メッセージボックスが表示されていない)。
Excelファイルが開かれたままになるので、VBAエディタでコードが編集できるようになります。
Shiftキー押しながらダブルクリックするだけではダメ。必ずファイルメニューの「開く」から行うこと
ここで注意したいのが、エクスプローラーで表示されたマクロつきExcelファイルをShiftキー押しながら開けばいいんじゃね?と思いがちですが、それではダメです。マクロが実行されてしまいます。
前述した通りのやり方で、「ファイル」メニューの「開く」から対象のファイルを開くようにしてください。
まとめ
というわけで、マクロ付きExcelをマクロ実行させずに開く方法をご紹介しました。
Excelファイル開きたいけどマクロが動くのは困る…というシーンは意外とあるので、知っておくと役に立ちそうなTipsだと思います。
<関連記事>
Excel(エクセル)で文字列と数値を変換する方法。知っとくと地味に便利ですよ!