在vbscript中创建Excel文件会生成损坏的文件

时间:2017-08-17 17:44:24

标签: excel vbscript qtp hp-uft datasheet

我在vbscript中有以下代码:

    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”的文件格式和扩展名不匹配。该文件可能已更正或不安全 ...

另外,我无法从UFT HP导入此数据表。我相信这可能是因为生成Excel文件的问题。

我该怎么做才能解决它?

1 个答案:

答案 0 :(得分:2)

您需要使用 xlExcel8 FileFormat 进行SaveAs。 xlExcel8相当于56(因为VB-Script没有xlExcel8引用)。

ExcelObject.Activeworkbook.SaveAs(path+"Data", 56)

不要添加扩展程序。 Excel将根据文件类型参数添加正确的参数。