'たとえば「Date.mdb」のファイル名で新規にデータベースを作成しますとプロジェクト名は自動的に「Date」になります。 'VBAでDate関数を使うと次のエラーになります。 ' コンパイルエラー「プロジェクトではなく、変数またはプロシージャを指定してください。」 '----------------------------------------------------------------------------------------------------- 'Helpの内容 ' 現在の適用範囲に、この名前の変数またはプロシージャはありませんが、この名前のプロジェクトがあります。 ' エラーの原因と対処方法を次に示します。 ' プロジェクトの名前が、変数またはプロシージャとして使用されています。 ' 変数名またはプロシージャ名を確認し、参照する名前が別のモジュールに対してプライベートでないことを確認します。 ' プロジェクト名は修飾子として使用できますが、プロジェクト名自体を独立して使用することはできません。 '----------------------------------------------------------------------------------------------------- '以上がAccessの定義ですが、 'VBAの予約語でプロジェクト名に使用出来るものと出来ないものがあります。 '以下の例で○はプロジェクト名に使用出来ます。アルファベット順に調べ始めましたが途中でやめました。 'それにしても何の規則性もないのがなんとも不気味です。エラーになる予約語は入力後、頭が大文字に変換 'されないのですが、なぜか「Array」は変換されますがエラーです。 'プロジェクト名に予約語を付けるなどというのは暴挙なのです。 ' 'テスト方法 ' 予約語を「ツール」→「オプション」→「詳細」→「プロジェクト名」に入力しコンパイルします。 '----------------------------------------------------------------------------------------------------- Private Sub Project() Dim w As Variant w = Abs(-1) '○ w = Array(10, 20, 30) '× w = w(2) w = asc("a") '× w = 4 * atn(1) '× w = CBool(0) '○ w = CByte(0) '○ w = CCur(0) '○ w = CDate(0) '○ w = CDbl(0) '○ w = CDec(0) '○ w = CInt(0) '○ w = CLng(0) '○ w = CSng(0) '○ w = CVar(0) '○ w = CStr(0) '○ w = str(0) '× w = dir("c:\*.*") '× w = date '× w = InStr("www", "w") '○ w = time '× End Sub