• 締切済み

collection型を引数にしたファンクションでコンパイルエラー

件名の通り、collection型を引数にしたファンクション・サブプロシージャを作成して実行しようとすると「コンパイルエラー:引数は省略できません」が出力されます。 ファンクションの引数を Private Function Test(ByRef coltest As Collection) MsgBox ("Test") End Sub のように参照渡しにしても同様の結果となります。 ネットで検索してみましたが、解決策になる回答がみつかりませんでした。 collection型に限らない現象かも知れませんが、どなたか解決策をご存知の方がいらっしゃいましたらご教授願えないでしょうか。 <動作環境> バージョン:access2003 OS:Windows XP professional sp2

みんなの回答

  • AlexSuns
  • ベストアンサー率67% (78/115)
回答No.2

#1さん 括弧つけるときは「Call」が必要ですよ Dim c As New Collection Call Test(c)

ukulele5
質問者

お礼

迅速にご回答いただき誠にありがとうございました。 Callをつけると問題なく実行できました。 しかし、引数の型をString等にした場合はCallがつかなくても 実行できるようです。 VBAの言語仕様なのでしょうか。 (言語を書き忘れていましたが、VBAです)

回答No.1

この関数の呼び出し側どうなってます? c = New Collection Test(c) だとコンパイルエラー出たけど Test c だと出なかった。 #以前話題になったことあるけど,未だに理解してない #多分VB.NET以降は両方括弧あって大丈夫だと思う

ukulele5
質問者

お礼

迅速にご回答いただき誠にありがとうございました。 仰るとおり、Test(c)と記述しておりました。 Test c と記述することで実行できました。

関連するQ&A