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 不支持在变量定义中使用“=
”进行初始化。)
我尝试在 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 不支持在变量定义中使用“=
”进行初始化。)