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

标签 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 文件的生成方式存在问题。

我可以做什么来修复它?

最佳答案

您需要使用xlExcel8FileFormat另存为。 xlExcel8 相当于 56(因为 VB 脚本没有 xlExcel8 引用)。

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

不要添加扩展名。 Excel 会根据文件类型参数添加正确的文件类型。

关于excel - 在 vbscript 中创建 Excel 文件会生成损坏的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45741820/

相关文章:

javascript - excel onclick 表格

vbscript - VBScript等效的%*或$ *参数列表是什么?

qtp - UFT 或 QTP 是否支持 Windows 10?

object - 如何在 UFT 中使用 SendKeys 对对象执行右键单击?

VB.NET 代码将 Excel 2007 列单元格格式更改为数字无十进制

当在同一行的另一个单元格中输入数据时,Excel 公式将日期/时间放入单元格中

excel - 使用调度(分配值)

python - 手动打开 excel 文件允许公式运行,使用 VBScript 或 PowerShell 或 Python 的 win32com 打开 excel 文件则不允许

vbscript - VBS - 删除最后一个 "/"之后的部分字符串

apache-flex - 在Flex应用程序上自动进行质量检查