| 日時: 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 でないとだめとか? 必ず、ご自分の使用環境で確認して下さい。
 
 
 |