2009年6月26日金曜日

CSVファイル入力

今回は、CSVファイルを呼んで、シートに表示するサブルーチンについてです。

EXCELは、CSVファイルをダブルクリックすると、ちゃんと表示してくれますから、この機能はあまり意味がないですね!
CSVファイルの入力方法には、2つありますが、今回は、Line Input文を使って、1行分づつ読み込んでから、カンマで分離して、さらに、ダブルクオーテーションを取り除く方法を紹介します。

Public Sub CSV入力1()
  Dim Rtn As Integer
  Dim i As Integer
  Dim j As Integer
  Dim wFNo As Integer
  Dim wRec As String
  Dim wCell() As String
  '実行確認メッセージ
  Rtn = MsgBox("CSV入力を実行しますか?", vbQuestion + vbYesNo)
  If Rtn = vbNo Then
     Exit Sub
  End If
  'ファイル番号を取得する
  wFNo = FreeFile
  'CSVファイルをOPENする
  Open "C:\計算.csv" For Input As #wFNo
  i = 0
  'ループ(繰り返し)の開始
  Do Until EOF(wFNo)
     i = i + 1
     'ファイルから1行読み込む
     Line Input #wFNo, wRec
     'カンマで区切られた内容を分離して、配列にセットする
     wCell = Split(wRec, ",")
     For j = 0 To 2
         'ダブルクオーテーション(Chr$(34))を空値へ置換する
         wCell(j) = Replace(wCell(j), Chr$(34), "")
         Cells(i, j + 1) = wCell(j)
     Next
  'ループの終了
  Loop
  'ファイルをクローズする
  Close
  '実行結果確認メッセージ
  MsgBox "CSV入力が終了しました。", vbInformation + vbOKOnly
End Sub

今日は、ここまでです。

次回は、もう一つのCSV入力方法について紹介します。

それでは!

0 件のコメント:

コメントを投稿