- 締切済み
collection型を引数にしたファンクションでコンパイルエラー
件名の通り、collection型を引数にしたファンクション・サブプロシージャを作成して実行しようとすると「コンパイルエラー:引数は省略できません」が出力されます。 ファンクションの引数を Private Function Test(ByRef coltest As Collection) MsgBox ("Test") End Sub のように参照渡しにしても同様の結果となります。 ネットで検索してみましたが、解決策になる回答がみつかりませんでした。 collection型に限らない現象かも知れませんが、どなたか解決策をご存知の方がいらっしゃいましたらご教授願えないでしょうか。 <動作環境> バージョン:access2003 OS:Windows XP professional sp2
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- AlexSuns
- ベストアンサー率67% (78/115)
回答No.2
#1さん 括弧つけるときは「Call」が必要ですよ Dim c As New Collection Call Test(c)
- himajin100000
- ベストアンサー率54% (1660/3060)
回答No.1
この関数の呼び出し側どうなってます? c = New Collection Test(c) だとコンパイルエラー出たけど Test c だと出なかった。 #以前話題になったことあるけど,未だに理解してない #多分VB.NET以降は両方括弧あって大丈夫だと思う
質問者
お礼
迅速にご回答いただき誠にありがとうございました。 仰るとおり、Test(c)と記述しておりました。 Test c と記述することで実行できました。
お礼
迅速にご回答いただき誠にありがとうございました。 Callをつけると問題なく実行できました。 しかし、引数の型をString等にした場合はCallがつかなくても 実行できるようです。 VBAの言語仕様なのでしょうか。 (言語を書き忘れていましたが、VBAです)