• 締切済み

クラスの作成方法を教えてください

http://oshiete1.goo.ne.jp/kotaeru.php3?q=1328191 標記の内容がわからなくうまくいきません 作成したいクラスの内容 ・CSVのデータ1行を表すクラス(CsvQueueクラスとする)  ・メンバー変数は、  その1行のデータとCsvQueueクラスへのポインタ。  データは面倒ならPublic。  ・メンバー関数は、  PutData()とGetData()。 CsvQueueクラス Public strCsvData1 As String Public strCsvData2 As String Public strCsvData3 As String Private queNextData As CsvQueue 初歩的な質問ではございますが、 作成方法を教えてくださいます様、よろしくお願いいたします 以下、参考::::::::::::::::::::: Public Function PutData(ByVal q As CsvQueue) As Boolean  If queNextData Is Nothing Then   Set queNextData = q   Exit Function  End If  PutData = queNextData.PutData(q) End Function Public Function GetData() As CsvData  GetData = queNextData End Function CSV出力モジュール内(追加した行を++で表している) Private csvRoot As CsvData ' Nothingに初期化 Private Sub output(ByVal ofile As String) On Error GoTo trap handle = FreeFile() Open ofile For Append As #handle  Do Until csvRoot Is Nothing   (中略と同内容)   csvRoot = csvRoot.GetData()  Loop (中略) Print #handle, _ Close #handle Exit Sub trap: 'MsgBox Err.number & "," & Err.Description, vbInformation, "output"  Dim csvTemp As New CsvData  csvTemp.strCsvData1 = ...  If csvRoot Is Nothing Then   Set csvRoot = csvTemp  Else   csvRoot.PutData(csvTemp)  End If End Sub

みんなの回答

  • mokocho
  • ベストアンサー率14% (1/7)
回答No.1

クラスモジュールをプロジェクトファイルに追加してください CsvQueue.cls(CsvQueue.basまたはCsvQueue.frm)みたいな感じで作成し、オブジェクト名をCsvQueueにしてください そのクラスモジュールに、 Public strCsvData1 As String Public strCsvData2 As String Public strCsvData3 As String Private queNextData As CsvQueue PutData()とGetData()の関数を記載 >Public Function PutData(ByVal q As CsvQueue) As Boolean の個所にて、エラー「ユーザー定義型は定義されていません ⇒CsvQueueがプロジェクト内にないため、発生しております 念のためですが呼び元では、 Dim A as CsvQueue Set A As New CsvQueue GetData A と記載してしてください

関連するQ&A