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

このQ&Aに関連する最新のQ&A

A 回答 (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
と記載してしてください
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング