csvファイルを開いて(1行のみ)、それをカンマごとに分割してテキストボックスに表示したいのですが、不要な ””がついてしまいます。
空白データを表示するテキストボックスには何も表示させたくないのですが、””が表示されてしまいます。
どのように対処すればよいのでしょうか?
よろしくお願いいたします。
Open "myfile.csv" For Input As #fileNo
Line Input #fileNo, TextLine
strTemp = Split(TextLine, ",")
Text2.Text = strTemp(4)
Text3.Text = strTemp(2)
Text4.Text = strTemp(3)
Text5.Text = strTemp(6)
csvファイルでは文字列を「"」で囲って保存するのでそのままでは表示されてしまいます。
Mid関数で省けば良いのですが、数字の場合・・・
strTemp(4) = "ABCDE"
Mid(strTemp(4), 2, Len(strTemp(4)-1)) 'return ABCDE
strTemp(5) = 12345
Mid(strTemp(5), 2, Len(strTemp(4))) 'return 234
初めの文字と最後の文字がchr(34)である事を確認た上で切り取ってみては?
if (Left(strTemp(5), 1) = chr(34)) and (Right(strTemp(5), 1) = chr(34)) then
Mid(strTemp(5), 2, Len(strTemp(5)-1) 'return 12345
End if
多分大嘘のコードなので誰か修正してください。m(__)m
朝まで生テレビさんのコード少し訂正すると
>Mid(strTemp(4), 2, Len(strTemp(4)-1)) 'return ABCDE
Mid(strTemp(4), 2, Len(strTemp(4))-1) 'return ABCDE
Len(strTemp(4)-1))→Len(strTemp(4))-1)に訂正(カッコの位置少し訂正)
別な方法として、読み込む項目数が決まっていれば
Line Input ではなく Input で読み込んでみては?
Input #fileNo, strTemp(0),strTemp(1),strTemp(2),……
項目数が決まっていなければ
Text1.Text = Replace(strTemp(1), """", "")
とSplit関数で返された配列をReplace関数で置き換えてみるのはどうでしょう?
お返事遅くなって申し訳ありません。
Replaceを使って""が消えました!
今のところこれで不具合は無いので大丈夫みたいです。
なるほど!って思いました。
みなさま、ありがとうございました。