Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


75374 / 76733 ←次へ | 前へ→

【5796】Re:CSVのデータ(例3/8)取得方法
質問  こーじ  - 03/5/31(土) 10:00 -

引用なし
パスワード
   ありがとうございます。お礼が遅くなって済みません。CSVファイルをOpenで開いて、Input #で配列変数に取り込んで、それをEXCELに貼り付けることで解決しました。
ただ、できれば解決したい問題が残りました。
SCVの1つの文字列の中に全角のカンマ(,)と全角のダブルクォーテーション(”)が使用されています。

J5 ,国語テスト       ,M10 ,
J5 ,テスト1,テスト2   ,M10 ,
J5 ,時間”9:30”遅刻厳禁 ,M10 ,

これをInput #で配列変数に取り込む時、
「テスト1,テスト2」が「テスト1」「テスト2」
となります。
これを回避するため、下記のように文字列を半角のダブルクォーテーションで囲むようにすると

J5 ,"テスト1,テスト2",M10 ,
J5 ,"時間”9:30”遅刻厳禁",M10 ,

今度は
「"時間”9:30”遅刻厳禁"」が「時間」「9:30”遅刻厳禁"」
となってしまいます。

Input #が全角の(,)(”)を半角の(,)(")と同様に扱ってしまっていることが原因のようですが、ヘルプをみても、区別して認識させる方法が載ってないようです。
どなたか、何か解決方法をご存知の方がいらしたら教えてください。
以上よろしくお願いします。

  〜略〜
  'CSVファイルのデータを文字列形式でEXCELファイルに丸ごとコピーする
  Open strOutFileName For Input As #1
  
  'Excelファイル名を設定する
  strTempFileName = ActiveWorkbook.Path + "\" + str本体価格CSVtoEXCELファイル名称
  
  '一時的にEXCELファイルを作成して、ワークブックで開いて処理をした後、削除する。
  Open strTempFileName For Output Access Write As #2
  Close #2
  
  Workbooks.Open strTempFileName  'CSVファイルを貼り付けるEXCELファイルが現在アクティブ

  Do Until EOF(1)
    lngCSV処理CNT = lngCSV処理CNT + 1
    lngCSVTBL行CNT = lngCSVTBL行CNT + 1
    Application.StatusBar = strCSV拡張子 & "全データ " & lngCSV全データ行数 & "行中、" & Format(lngCSV処理CNT, "000000") & "行目読込み中"
    'CSVファイルの内容を1行ずつ配列に設定する
    For i = 1 To intCSVカンマ数 + 1
      Input #1, strCSVTBL(lngCSVTBL行CNT, i)
    Next
    '配列の内容をEXCELに貼り付ける
    If lngCSVTBL行CNT = lngCSVTBL行数 Or EOF(1) Then
      ActiveWorkbook.Worksheets(1).Range(Cells(intCSV行, intCSV書始め列), Cells(intCSV行 + lngCSVTBL行数 - 1, intCSV書始め列 + intCSVカンマ数)).Value = strCSVTBL
    End If
  Loop
  Close #1
  Erase strCSVTBL
  〜略〜

1 hits

【5729】CSVのデータ(例3/8)取得方法 こーじ 03/5/28(水) 23:49 質問
【5746】Re:CSVのデータ(例3/8)取得方法 Jaka 03/5/29(木) 13:00 回答
【5796】Re:CSVのデータ(例3/8)取得方法 こーじ 03/5/31(土) 10:00 質問
【5798】Re:CSVのデータ(例3/8)取得方法 よろずや 03/5/31(土) 13:04 回答
【5800】どれほど遅いか試して見ますか Hirofumi 03/5/31(土) 16:58 回答
【5814】Re:CSVのデータ(例3/8)取得方法 こーじ 03/6/2(月) 17:28 お礼
【5815】Re:CSVのデータ(例3/8)取得方法 03/6/2(月) 17:41 回答
【5818】Re:CSVのデータ(例3/8)取得方法 こーじ 03/6/2(月) 18:05 お礼

75374 / 76733 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free