- ベストアンサー
変数宣言
↓例で、REC変数を同じプロジェクト内の他basファイルで、使用するとコンパイルエラーになります。 原因が解りません。 対策を教えていただけませんか? Public REC As String Private Function test() As String ・ ・ ・ ・ REC = test() End Function
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
何をしたいのかサッパリですが >プロジェクトの他ファイル の意味も?です。 Visual Basic と一括りにしてもVB6 から.NET ・・・多岐にわたります。 とりあえず、VBAでの話だとして Private Function ・・はマズイかと。 http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_k05.htm VBAでしたら(他は分かりません!) 標準モジュールにて Public REC As String Function test() As String Dim aryS As Variant aryS = Array("レバニラ", "焼肉", "野菜炒め") test = aryS(Int(Rnd * (UBound(aryS) + 1))) End Function Sub menu() REC = test MsgBox REC End Sub のような感じで。 Sub menu() はここにある必要はありません。 適当なフォームのイベントとかにどうぞ。 Sub こまんど_Click() REC = test MsgBox REC ・・・
その他の回答 (3)
- nicotinism
- ベストアンサー率70% (1019/1452)
Private Function test() As String ・ ・ ・ ・ REC = test() ↑自身の関数 Function test() を呼び出していますので 循環参照の堂々巡りです
補足
下記のようにしても、プロジェクトの他ファイルでREC関数を使用するエラーになります。 対策を教えていただけませんか? Public REC As String Private Function test() As String ・ ・ ・ ・ End Function REC = test
- n-jun
- ベストアンサー率33% (959/2873)
ユーザー定義関数ですから test = REC ならわかるんですが。。。 ⇒もしかすると的外れな回答になっているかも?
- osietete4
- ベストアンサー率21% (81/369)
手元にVBがないのでかくにんできないのですが、 Public REC As String を DimREC As String にかえたらうまくいきません?
補足
ありがとうございました。 NGでした。 VB6の質問です。 Public宣言した変数を他の標準ファイルで使用したのです。