首页 文章

UFT / QTP CreateObject语法错误

提问于
浏览
0

我尝试在UFT中创建对象:

Dim xlApp 
Dim xlBook 
Dim xlSheet 
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:\1.xls")
Set xlSheet = xlBook.Sheets(1)

创建失败,语法错误

The test run cannot continue due to a syntax error.
Syntax error
Line (242): Set xlApp = CreateObject("Excel.Application")

有人知道怎么修理吗?谢谢您的帮助

1 回答

  • 5

    根据你的评论,你使用的是:

    Class MyClass
        Dim xlApp 
        Dim xlBook 
        Dim xlSheet 
    
        Set xlApp = CreateObject("Excel.Application")
        Set xlBook = xlApp.Workbooks.Open("C:\1.xls")
        Set xlSheet = xlBook.Sheets(1)
    End Class
    

    然后,您在xlApp分配中收到语法错误 .

    就这样, because the assignment is invalid in that scope (which is no callable scope at all) .

    首先,设置 option explicit on .

    然后,确保使用 Dim 定义所有实例变量 .

    另外,创建一个构造函数,或者在下面的示例中,创建一个可调用的 Sub ,它初始化实例变量,如下所示:

    Option Explicit
    
    Class MyClass
        Dim xlApp 
        Dim xlBook 
        Dim xlSheet 
        Public Function SetParam ()
            Set xlApp = CreateObject("Excel.Application")
            Set xlBook = xlApp.Workbooks.Open("C:\1.xls")
            Set xlSheet = xlBook.Sheets(1)
        End Function
    End Class
    

    这不会产生语法错误,可能更接近您的意图 .

    这是因为在 Class ... End Class 构造中,你除了定义之外别无其他 . 没有陈述 . 作业是陈述 . (VBScript不支持在变量定义中使用“ = ”进行初始化 . )

相关问题