- 締切済み
クラスの作成方法を教えてください
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
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mokocho
- ベストアンサー率14% (1/7)
クラスモジュールをプロジェクトファイルに追加してください 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 と記載してしてください