在VBScript中创build一个Excel表

我正试图自动检测xlsx文件中的数据范围,并将其转换为格式化的表格。 我希望它与Excel格式的表格相同(在应用程序中的CTRL-T)

我得到一个错误,说'对象不支持方法的属性:wb.ListObjects'。

我显示VBA使用ListObjects创build一个表。 在VB脚本有什么不同吗?

Const xlDelimited = 1 Const xlTextQualifierDoubleQuote = 1 Const xlOpenXMLWorkbook = 51 Set xl = CreateObject("Excel.Application") ''Working: Convert csv to xlsx. Is all this necessary for a simple csv to xlsx convert? xl.Workbooks.OpenText "C:\Users\me\Desktop\Automate\data2.csv", , , xlDelimited _ , xlTextQualifierDoubleQuote, True, False, False, True, False, False, _ , Array(Array(1,2), Array(2,2), Array(3,2), Array(4,1), Array(5,2) _ , Array(6,1), Array(7,1), Array(8,1), Array(9,1), Array(10,1), Array(11,1)) Set wb = xl.ActiveWorkbook 'This is still not working... 'wb.ListObjects.add xlSrcRange,x1.Range(),,XlYes wb.ListObjects(1).method ''Working: Save file with current date. wb.SaveAs "C:\Users\me\Desktop\Automate\data2" & "(" & Right(Day(Date),2) & MonthName(Month(Date()),1) & Year(Date) & ")" & ".xlsx", xlOpenXMLWorkbook, , , , False wb.Close xl.Quit 

谢谢!

 Const xlOpenXMLWorkbook = 51 Const xlYes = 1 Const xlSrcRange = 1 Dim wb,sht Set xl = CreateObject("Excel.Application") 'xl.visible=true 'uncomment if you want to see Excel Set wb = xl.Workbooks.open("D:\Analysis\VBScript\data.csv") Set sht = wb.worksheets(1) 'create a new listobject from the Range with top-left=A1 sht.ListObjects.Add xlSrcRange, sht.Range("A1").CurrentRegion, , xlYes xl.DisplayAlerts = False 'don't show "a file already exists..." wb.SaveAs "D:\Analysis\VBScript\dataOut.xlsx", xlOpenXMLWorkbook, , , , False xl.DisplayAlerts = True wb.Close xl.Quit 

在vbscript中没有可用的常量。 您必须在对象查看器中查看值并将其放入。EG xlYes = 1因此用1replace。

根据对象模型,它是工作表中ListObjects的集合而不是单个对象,所以wb.ListObjects(1).method。

根据对象模型没有添加方法。

帮助有一个如何使用这个例子。