データに半角のカンマが含まれる可能性がある場合は、データをダブルクォーテーションで囲んで、区切り文字としてカンマが使われる
プロンプトで指示する場合にダブルクォーテーションの指示文自体を””で囲んで文字列指示と認識してしまうことが多いので、下記のように、コード番号で指定すると正しい結果が得らやすい
Splitの区切り文字は、Chr(34) & “,” & Chr(34)
データは Chr(34)で囲まれて、カンマで区切られている
データ内に半角のカンマが含まれている可能性があるので、 Chr(34)で囲んでいる
例(現時点での応答結果で、今後は同じプロンプトでも正しい回答となっていくと思われる)
例 以下のプロンプトの応答結果は誤っていた
エクセルのVBAで、指定したパスにあるCSVファイルをシートへ取り込むコードを作成して
データは、””で囲まれています
結果は、コメントには記載されているものの、実際には下記のように通常のカンマを区切り文字に指定したコードが生成された
‘ ダブルクォーテーションで囲まれたデータを分割
values = Split(CleanCSVLine(lineText), “,”)
下記のように追加で、borderを指定する ”をアスキーコードで指定
split(CleanCSVLine(lineText), “,”)をborder = Chr(34) & “,” & Chr(34)で作成して
結果は、以下のようにレコードの最初と最後の”も正しく取り除く処理コードが生成された
‘ 区切り文字:「”,”」をChr関数で表現
border = Chr(34) & “,” & Chr(34)
‘ 最初と最後の ” を削除
If Left(lineText, 1) = “””” Then lineText = Mid(lineText, 2)
If Right(lineText, 1) = “””” Then lineText = Left(lineText, Len(lineText) – 1)
‘ “,” で分割
values = Split(lineText, border)