定数、固定長文字列、配列、ユーザー定義型、および Declare ステートメントは、オブジェクト モジュールのパブリック メンバーとしては使用できません

オブジェクト モジュールのすべての変数Public として宣言できるわけではありません。 ただし、プロシージャは既定で Public であり、Property プロシージャを使用して変数の構文をシミュレートできます。 このエラーの原因と解決策を以下に示します。

  • オブジェクト モジュールで定数Public として宣言されている。

    オブジェクト モジュールで定数を Public として宣言することはできませんが、同じ名前の Property Get プロシージャを作成できます。 その名前の Property Let プロシージャまたは Property Set プロシージャを作成しなければ、実質的に定数と同じ方法で使用できる読み取り専用のプロパティが作成されます。

  • オブジェクト モジュールで固定長文字列が Public として宣言されている。 許可される文字数を超えたら文字列データを切り詰めるかユーザーに通知する一連の Property プロシージャを使用して、固定長文字列をシミュレートすることができます。

  • オブジェクト モジュールで配列Public として宣言されている。

    プロシージャで配列を返すことはできませんが、配列を含むVariantを返すことができます。 クラス モジュールで Public の配列をシミュレートするには、配列を含むバリアントを受け取って返す一連の Property プロシージャを使用します。

  • オブジェクト モジュールに Declare ステートメントが含まれている。 Declare ステートメントは暗黙的にパブリックになります。 Declare ステートメントの前に Privateキーワードを付けます。

詳細については、該当する項目を選択し、F1 キー (Windows の場合) または HELP (Macintosh の場合) を押してください。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。