UFT/QTP CreateObject 语法错误

UFT/QTP CreateObject Syntax error

我尝试在 UFT 中创建对象:

Dim xlApp 
Dim xlBook 
Dim xlSheet 
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:.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")

有人知道怎么修吗? 感谢帮助

根据您的评论,您正在使用类似的东西:

Class MyClass
    Dim xlApp 
    Dim xlBook 
    Dim xlSheet 

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

然后,您在 xlApp 分配中遇到语法错误。

没错,因为赋值在该范围内无效(根本不是可调用范围)

首先,设置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:.xls")
        Set xlSheet = xlBook.Sheets(1)
    End Function
End Class

这不会产生语法错误,并且可能更接近您的预期。

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