ただ単にクラスのメソッドを呼び出したいだけなのにできない。
全体でやりたいこととしてはcsvパーサを作りたいのです。
(VBA標準だと要素中の改行を正しく読めないようなので)
呼び出し元プロシージャ
Sub マクロALL() 'システムファイルの指定 Dim Material_list As String Material_list = Application.GetOpenFilename("システムファイル,*.csv?") Set tokenizer = New CsvTokenizer tokenizer.SetFilePath (Material_list) Call tokenizer.Parse Cells(1, 1) = tokenizer.rawText End Sub
クラスモジュール CsvTokenizer
Option Explicit Private Enum TokenizerStatus Init = 1 NextElement = 2 NextRow = 3 InDoubleQuot = 4 EscapeDoubleQuot = 5 End Enum Private status As Long Public filePath As String Public rawText As String Public Sub SetFilePath(path) Me.filePath = path End Sub Public Sub Parse() ' ここでエラーが出る"Function または変数が必要です。" Me.rawText = ReadFile() End Sub Private Sub ReadFile() Dim row As Long r = 1 Do Until EOF(1) Dim buf As String Line Input #1, buf Me.rawText = Me.rawText & buf r = r + 1 Loop End Sub Private Sub Class_Initialize() status = TokenizerStatus.Init End Sub

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。