tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
複数のCSVファイルを1つのBookに読み込む(VB6.0 基本編) ( No.12 )  [親スレッドへ]
日時: 2007/08/11 20:46
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[エクセル][][]                                                      *
* キーワード:オープン,開く,CSVファイル,まとめる                              *
***********************************************************************************

元質問:複数のCSVデータ⇒XLSブック - Blue  2003/05/30-17:12 No.4200
CSVデータを1枚のXLSシートのように扱ってブックにすることはできないでしょうか?

-----------------------------------------------------------------------------------
Re: Excelを読み取り専用で開く - 花ちゃん  2003/01/24-19:26 No.2413
-----------------------------------------------------------------------------------
ひとつにまとめるだけなら、こんな方法も

Private Sub Command1_Click()
    Dim AFilePath As String
    Dim BFilePath As String
    Dim CFilePath As String
    AFilePath = App.Path & "\AFile.CSV" & " + "
    BFilePath = App.Path & "\BFile.CSV" & " "   '半角スペースを付加
    CFilePath = App.Path & "\CFile.CSV"
    Shell "command.com /c copy " & AFilePath & BFilePath & CFilePath, 0
End Sub

-----------------------------------------------------------------------------------
元質問:一つのBookで複数のCSVを読み込む - TOM  2005/01/13-18:25 No.1573
-----------------------------------------------------------------------------------
a.csv、b.csvという二つのCSVファイルがあります。
Sheet1にa.csvを、Sheet2にb.csvを読み込みたいのですがどのようにすればいいのでしょうか?

-----------------------------------------------------------------------------------
Re: 一つのBookで複数のCSVを読み込む - Say   2005/01/14-03:52 No.1583
-----------------------------------------------------------------------------------
各WorksheetオブジェクトのQueryTables.Add メソッドで可能ではないかと。


-----------------------------------------------------------------------------------
複数のCSVファイルを1つのBookに読み込む - 花ちゃん  2007/08/11
-----------------------------------------------------------------------------------
'☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
'Excel 操作部分(複数のCSVファイルを1つのBookに読み込む)
   Dim CSVFile(1 To 3) As String
   CSVFile(1) = "c:\Test1.CSV"
   CSVFile(2) = "c:\Test2.CSV"
   CSVFile(3) = "c:\Test3.CSV"
   Dim AllTextFormat(255) As Integer
   Dim i As Long
   For i = 0 To 255
      AllTextFormat(i) = 2    '全ての列を文字列型にする為の配列
   Next i
  
   For i = 1 To 3
      'ファイル数分シートがあるかを調査
      If xlBook.Worksheets.Count >= i Then
         Set xlSheet = xlBook.Worksheets(i)
      Else
         '無ければシートを追加
         Set xlSheet = xlBook.Worksheets.Add
      End If
      With xlSheet.QueryTables.Add(Connection:="TEXT;" & CSVFile(i), _
                         Destination:=xlSheet.Range("A1"))
         .TextFilePlatform = 932    'Excel 2000 の場合は、xlWindows で
         .TextFileCommaDelimiter = True
         '全ての列をテキスト型に設定(無難なので)
         .TextFileColumnDataTypes = AllTextFormat
         .Refresh
      End With
   Next i
'☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

TextFilePlatform プロパティ の定数は、xlMacintosh  xlMSDOS  xlWindows  の3つしか
書いていないなのですが、Excel 2002 では、どれを使っても文字化けしてしまいます。
色々調べた結果、932 にすると文字化けせず読み込まれました。Excel 2000 では、逆に
xlWindows でないとだめとか? 必ず、ご自分の使用環境で確認して下さい。



 [スレッド一覧へ] [親スレッドへ]