[リストへもどる]
一括表示

投稿時間:2002/11/01(Fri) 10:40
投稿者名:アンパンマン
Eメール:
URL :
タイトル:
文字列の””を取る
こんにちは。

CSVファイルをオープンして、一行づつ読み込んで、
Select Caseで処理をしようと思うのですが・・・

Dim iFile As String
Dim nFile As String
Dim InputData As String
Dim InputD() As String
Dim 日付 As String

iFile = App.Path & "\" & 日付 & ".csv"
nFile = FreeFile
Open iFile For Input As nFile

Do Until EOF(nFile)
        Line Input #nFile, InputData
        InputD = Split(InputData, ",", -1)

     Select Case InputD(1)
     Case Chr(34) & "日本" & Chr(34)
       List3.AddItem InputD(0) & ":" & InputD(1) & ":" & "日本"
     Case Chr(34) & "アメリカ" & Chr(34)
       List3.AddItem InputD(0) & ":" & InputD(1) & ":" & "アメリカ"
     End Select
Loop
Close #nFile

上記のInputD(1)が""日本""こんな具合にダブルコーテーションが二つ付いてしまっています。
(テキストファイルが"日本"こうなっています。)
これを何とかChr(34) で強引に同じだと認識させているのですが、
リストに表示させる時に"日本"とダブルコーテーションが付いてしまいます。

ダブルコーテーションを取る、何かいい方法は無いでしょうか?
例えば、文字列の中で、指定する文字以外を抽出するような関数とか・・・。
よろしくお願いします。

投稿時間:2002/11/01(Fri) 10:56
投稿者名:ユウ
Eメール:
URL :
タイトル:
Re: 文字列の””を取る
    Dim G, V, W, Z, S, X '項目数だけとる
        Open File For Input As #1
            Do While Not EOF(1)
                Input #1, G, V, W, Z, S, X
                lstList.AddItem (G & V & W & Z & S & X)
            Loop
        Close #1
    End If

上のは自分がやっている方法なのですがこれならCSVで書いてあるテキストを読めると思います。
同じようなことを今やっているので試してみてください。
うまくいくといいのですが・・・。

投稿時間:2002/11/01(Fri) 12:28
投稿者名:アンパンマン
Eメール:
URL :
タイトル:
Re^2: 文字列の””を取る
>     Dim G, V, W, Z, S, X '項目数だけとる
>         Open File For Input As #1
>             Do While Not EOF(1)
>                 Input #1, G, V, W, Z, S, X
>                 lstList.AddItem (G & V & W & Z & S & X)
>             Loop
>         Close #1
>     End If
>
> 上のは自分がやっている方法なのですがこれならCSVで書いてあるテキストを読めると思います。
> 同じようなことを今やっているので試してみてください。
> うまくいくといいのですが・・・。

ユウさん、早速のお返事ありがとうございました。
やってみるとうまく出来ました。本当にありがとうございました。
これからもよろしくお願いします。

投稿時間:2002/11/01(Fri) 17:17
投稿者名:nobu
Eメール:
URL :
タイトル:
Re: 文字列の””を取る
> ダブルコーテーションを取る、何かいい方法は無いでしょうか?
> 例えば、文字列の中で、指定する文字以外を抽出するような関数とか・・・。

Line Input 文で " で囲まれているcsvファイルを読み込むと " 付きになりますので
input 文で各々を分けて変数に読み込めば良いですね。(すでにフォローあり)

Line Input 文で読み込んだ場合には

        Line Input #nFile, InputData
        InputData = Replace(InputData, Chr(34),"")
        InputD = Split(InputData, ",", -1)