我可以使用VBScript获取现有的CSV并使其成为单个Excel工作簿的选项卡吗?

我正在尝试自动化一个过程,在该过程中,我从一个目录中获取多个CSV,并在Excel工作簿中将它们分别设置为自己的选项卡,以便可以将数据等转换为数据。 我试图避免使用macros,如果可能的话…是否有可能在VBScript中做到这一点? 这是我迄今为止所尝试的,请原谅我的编程习惯,因为我刚刚才了解了VBS的基础知识:

Call createWkbk() Function createWkbk() strFileName = "c:\test1.xls" Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set objWorkbook = objExcel.Workbooks.Add() 'Adds one spreadsheet to book for each command objExcel.ActiveWorkbook.Worksheets.Add objExcel.ActiveWorkbook.Worksheets.Add objExcel.ActiveWorkbook.Worksheets.Add 'This renames all the sheets to 'int#' objExcel.Sheets(1).Name = "int1" objExcel.Sheets(2).Name = "int2" objExcel.Sheets(3).Name = "int3" objExcel.Sheets(4).Name = "int4" objExcel.Sheets(5).Name = "int5" objExcel.Sheets(6).Name = "int6" 'To save the book objWorkbook.SaveAs(strFileName) objExcel.Quit End Function 

所以现在我唯一需要做的是把那些已经存在的CSV文件写入这些表格,或者从一开始就导入它们。 如果不在VBScript中,build议的路线是什么?

谢谢大家,

尼克

您可以使用QueryTable将CSV快速导入到现有的工作表中:

 Const strFile = "c:\test.csv" Const strSheet = "Sheet1" Set Sheet = objExcel.Sheets(strSheet) With Sheet.QueryTables.Add("TEXT;" & strFile, Sheet.Range("A1")) .TextFileCommaDelimiter = True .Refresh End With