見出し画像

VBA|配布・共有|Option Private Module|参照元プロジェクトから Public メンバーを隠して API 面を閉じる


■ 基本構文

(疑似構文)

Option Private Module

(効果)
・他の VBAProject から参照されたときに、そのモジュール内の Public メンバーを公開しない
・同一プロジェクト内からは通常どおり呼べる

(戻り値の型・性質)
・宣言のため戻り値なし(参照公開範囲を制御する)


■ サンプルコード

サンプル①:配布用ブックで内部APIを隠す
役割:外部参照に見せたくない内部関数を隠す
理由:公開APIを絞って保守性を上げ、誤用を減らす
注意:同一プロジェクト内呼び出しは可能なので、内部利用の入口は別モジュールに分けると設計が安定する

Option Explicit
Option Private Module

Public Function InternalAdd(ByVal a As Long, ByVal b As Long) As Long
    InternalAdd = a + b
End Function

■ 備考

○用語:Private|非公開|プライベート / Module|モジュール|モジュール
○配布や共通部品化で「参照される側」になるときに価値が出る(通常の単体ブック用途では出番は少なめ)

いいなと思ったら応援しよう!

Parusの寺小屋 技術メモや学習の整理として書いています。 もし内容が役に立ったり、続きを読みたいと思っていただけたら、 応援として受け取らせてもらえたら嬉しいです。