• ベストアンサー

変数宣言

↓例で、REC変数を同じプロジェクト内の他basファイルで、使用するとコンパイルエラーになります。 原因が解りません。 対策を教えていただけませんか? Public REC As String Private Function test() As String  ・  ・  ・  ・ REC = test() End Function

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.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 ・・・

noname#187796
質問者

補足

ありがとうございました。 NGでした。 VB6の質問です。 Public宣言した変数を他の標準ファイルで使用したのです。

その他の回答 (3)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.3

Private Function test() As String  ・  ・  ・  ・ REC = test() ↑自身の関数 Function test() を呼び出していますので 循環参照の堂々巡りです

noname#187796
質問者

補足

下記のようにしても、プロジェクトの他ファイルでREC関数を使用するエラーになります。 対策を教えていただけませんか? Public REC As String Private Function test() As String  ・  ・  ・  ・ End Function REC = test

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

ユーザー定義関数ですから test = REC ならわかるんですが。。。 ⇒もしかすると的外れな回答になっているかも?

  • osietete4
  • ベストアンサー率21% (81/369)
回答No.1

手元にVBがないのでかくにんできないのですが、 Public REC As String を DimREC As String にかえたらうまくいきません?

関連するQ&A