定数、固定長文字列、配列、ユーザー定義型、および Declare ステートメントは、オブジェクト モジュールのパブリック メンバーとしては使用できませんConstants, fixed-length strings, arrays, user-defined types, and Declare statements not allowed as Public members of an object module

オブジェクト モジュールのすべての変数Public として宣言できるわけではありません。Not all variables in an object module can be declared as Public. ただし、プロシージャは既定で Public であり、Property プロシージャを使用して変数の構文をシミュレートできます。However, procedures are Public by default, and Property procedures can be used to simulate variables syntactically. このエラーの原因と解決策を以下に示します。This error has the following causes and solutions:

  • オブジェクト モジュールで定数Public として宣言されている。You declared a Publicconstant in an object module.

    オブジェクト モジュールで定数を Public として宣言することはできませんが、同じ名前の Property Get プロシージャを作成できます。Although you can't declare a Public constant in an object module, you can create a Property Get procedure with the same name. その名前の Property Let プロシージャまたは Property Set プロシージャを作成しなければ、実質的に定数と同じ方法で使用できる読み取り専用のプロパティが作成されます。If you don't create a Property Let or Property Set procedure with that name, you are in effect creating a read-only property that can be used the same way you would use a constant.

  • オブジェクト モジュールで固定長文字列が Public として宣言されている。You declared a Public fixed-length string in an object module. 許可される文字数を超えたら文字列データを切り詰めるかユーザーに通知する一連の Property プロシージャを使用して、固定長文字列をシミュレートすることができます。You can simulate fixed-length strings with a set of Property procedures that either truncate the string data when it exceeds the permitted length, or notify the user that the length has been exceeded.

  • オブジェクト モジュールで配列Public として宣言されている。You declared a Publicarray in an object module.

    プロシージャで配列を返すことはできませんが、配列を含むVariantを返すことができます。Although a procedure can't return an array, it can return a Variant that contains an array. クラス モジュールで Public の配列をシミュレートするには、配列を含むバリアントを受け取って返す一連の Property プロシージャを使用します。To simulate a Public array in a class module, use a set of Property procedures that accept and return a Variant containing an array.

  • オブジェクト モジュールに Declare ステートメントが含まれている。You placed a Declare statement in an object module. Declare ステートメントは暗黙的にパブリックになります。Declare statements are implicitly public. Declareステートメントの前にPrivateキーワードを使用します。Precede the Declare statement with the Privatekeyword.

詳細については、該当する項目を選択し、F1 キー (Windows の場合) または HELP (Macintosh の場合) を押してください。For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.