创建在VBScript Excel文件生成一个已损坏的文件
问题描述:
我有一个VBScript下面的代码:创建在VBScript Excel文件生成一个已损坏的文件
Set ExcelObject=CreateObject("Excel.Application")
ExcelObject.visible=False
ExcelObject.WorkBooks.Add
ExcelObject.Sheets(1).Cells(1,1).value="1"
ExcelObject.Sheets(1).Cells(1,2).value="2"
ExcelObject.Sheets(1).Cells(1,3).value="3"
ExcelObject.Sheets(1).Cells(1,4).value="4"
ExcelObject.Sheets(1).Cells(2,1).value="5"
ExcelObject.Sheets(1).Cells(2,2).value="6"
ExcelObject.Sheets(1).Cells(2,3).value="7"
ExcelObject.Sheets(1).Cells(2,4).value="Y"
For x=0 to testData.Count-1
ExcelObject.Sheets(1).Cells(x+3,1).value=testData(x)
ExcelObject.Sheets(1).Cells(x+3,2).value="Constant"
ExcelObject.Sheets(1).Cells(x+3,4).value="Y"
Next
ExcelObject.Activeworkbook.Sheets(1).Name = "Name"
ExcelObject.Activeworkbook.SaveAs(path+"Data.xls")
ExcelObject.Quit()
Set ExcelObject=Nothing
虽然,有一次我打开这个电子表格Excel中,我得到以下错误: 文件格式和“Data.xls”的扩展名不匹配。该文件可能是correctedted或不安全 ...
此外,我不能从UFT惠普进口此数据表。我相信这可能是由于如何生成Excel文件的这个问题。
我能做些什么来解决它?
答
您需要另存为FileFormat的xlExcel8。 xlExcel8相当于56(因为VB-Script没有xlExcel8引用)。
ExcelObject.Activeworkbook.SaveAs(path+"Data", 56)
请勿添加扩展名。 Excel将根据文件类型参数添加正确的一个。
+0
我不确定要保存的文件有多复杂。您可能需要在保存前添加'ExcelObject.DisplayAlerts = False'以避免确认。 – Jeeped
将其另存为xlsx。 – Jeeped
我特别需要它是xls,因为QTP(现在HP-UFT)要求它是xls – JoaoFilipeClementeMartins
,然后使用saveas命令的filetype参数。提示:不要包含.xls扩展名。如果你的代码正确,Excel将把正确的那个放在那里。 – Jeeped