1. まとめトップ

【Excel小技】配布したファイルのマクロを有効にして開かせる

エクセルで配布ファイルのマクロを有効にして開かせたい場合の方法の解説です。

更新日: 2019年10月11日

4 お気に入り 1210 view
お気に入り追加

この記事は私がまとめました

legacy_userさん

○ポイントは「ブック保護」と「シートの非表示」

マクロが有効な場合に警告が出るのは標準ですが、マクロが無効の場合はセキュリティポリシー上何の問題もないため、普通は何も起こりません。
しかし、マクロを使って何らかの機能をつけた場合は、マクロを有効にしてファイルを開いてほしいって思いますよね。
そこで、ブック保護機能を使い、簡単にマクロの有効化を促すファイルを作る方法を紹介します。
つまり、シートを非表示にした上でブック保護をかけておき、ファイルを開く際にマクロでブック保護とシート非表示を解除することで、結果的にマクロ無効の場合はファイルが開けないのと同じ効果を出せるという形です。

(1) [ワークシート挿入タブ]でワークシートを一枚追加

(2) (1)で追加したシートのタブで右クリックして[名前の変更(R)]

(3) 名前を入力する(例えばTOP")(図1)

(4) "TOP"以外のシートのタブを右クリック>[非表示(H)]

  (非表示にしたシート名は"Sheet1","Sheet2","Sheet3"とする)
  (この段階ではシート"TOP"だけが表示される状態)

(5) シート"TOP"の適当なセルに”マクロを有効にしてください”と入力

(6) [校閲]タブ>「変更」グループ>[ブック保護]

(7) ブックの保護ダイアログ(図2)の「シート構成(S)」にチェック

(8) ブックの保護ダイアログの「パスワード(P)」に AAA と入力して[OK]

(9) 「パスワード確認」ダイアログで再入力後[OK]

(10) VBEを開いて、ThisWorkbookのコードウインドウを開く

(11) Workbook_Openイベントプロシージャのコード例は下記

---------------------------------------------------------------------
Private Sub Workbook_Open()
ActiveWorkbook.Unprotect Password:="AAA"
Sheets("Sheet3").Visible = True
Sheets("Sheet2").Visible = True
Sheets("Sheet1").Visible = True
Sheets("TOP").Visible = False
End Sub
---------------------------------------------------------------------

(12) VBEのプロジェクトエクスプローラ(図3)で現在開いているプロジェクトを右クリック[VBAProjectのプロパティ]>「保護」タブ

(13) VBAProjectのプロパティダイアログ(図4)表示

(14) 「プロジェクトを表示用にロックする(V)」にチェック

(15) 「パスワード(P)」にパスワードを入力

(16) 「パスワードの確認入力(C)」にパスワードを再入力後[OK]

(17) VBEを閉じて、ファイルを保存して終了

○こんなときに使える

・マクロを有効にしてファイルを開かせたい

○注意

このパスワード保護は、Windowsのシステムの中では比較的弱いものです。
本当に重要な会社データや個人情報等は、専用機密ソフト等を使ってパソコンや記録媒体ごとに保護を施すことをオススメします。

1