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