1
CSV形式のドキュメントが多数あります(約100種類の.csvファイル)。私はそれらをすべて1つの.xlsドキュメントにマージしたい。私は各CSV文書が私の新しいxls文書のワークシートを表すことを望みます。だから私の最終的な結果は、オリジナルの.csv文書であった100の異なるワークシートを持つ1つのxlsワークブックでなければなりません。複数の異なるCSVファイルを1つのExcelドキュメントに変換する
CSV形式のドキュメントが多数あります(約100種類の.csvファイル)。私はそれらをすべて1つの.xlsドキュメントにマージしたい。私は各CSV文書が私の新しいxls文書のワークシートを表すことを望みます。だから私の最終的な結果は、オリジナルの.csv文書であった100の異なるワークシートを持つ1つのxlsワークブックでなければなりません。複数の異なるCSVファイルを1つのExcelドキュメントに変換する
私はvbsなどのスクリプト言語を使います。それは、Excelや他のMSアプリケーションでうまくいき、コマンドラインからでもファイルをダブルクリックしてでも実行できます。あなたはコマンドラインを実行する場合は以下のようにsrccsvfileとtgtxlsfileパラメータを渡すことができ、これらの二つの引数や
に値を追加する必要が
:ここ
cscript nameoffile.vbs test.csv test.xls
は、いくつかのサンプルコードです。名前を付けて保存する.vbs:
srccsvfile = Wscript.Arguments(0)
tgtxlsfile = Wscript.Arguments(1)
'Create Spreadsheet
'Look for an existing Excel instance.
On Error Resume Next ' Turn on the error handling flag
Set objExcel = GetObject(,"Excel.Application")
'If not found, create a new instance.
If Err.Number = 429 Then '> 0
Set objExcel = CreateObject("Excel.Application")
End If
objExcel.Visible = false
objExcel.displayalerts=false
'Import CSV into Spreadsheet
Set objWorkbook = objExcel.Workbooks.open(srccsvfile)
Set objWorksheet1 = objWorkbook.Worksheets(1)
'Adjust width of columns
Set objRange = objWorksheet1.UsedRange
objRange.EntireColumn.Autofit()
'This code could be used to AutoFit a select number of columns
'For intColumns = 1 To 17
' objExcel.Columns(intColumns).AutoFit()
'Next
'Make Headings Bold
objExcel.Rows(1).Font.Bold = TRUE
'Freeze header row
With objExcel.ActiveWindow
.SplitColumn = 0
.SplitRow = 1
End With
objExcel.ActiveWindow.FreezePanes = True
'Add Data Filters to Heading Row
objExcel.Rows(1).AutoFilter
'set header row gray
objExcel.Rows(1).Interior.ColorIndex = 15
'-0.249977111117893
'Save Spreadsheet, 51 = Excel 2007-2010
objWorksheet1.SaveAs tgtxlsfile, 51
'Release Lock on Spreadsheet
objExcel.Quit()
Set objWorksheet1 = Nothing
Set objWorkbook = Nothing
Set ObjExcel = Nothing