jhe*_*a-d 0 vbscript qtp hp-uft
我尝试在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)
Run Code Online (Sandbox Code Playgroud)
创建失败,语法错误
The test run cannot continue due to a syntax error.
Syntax error
Line (242): Set xlApp = CreateObject("Excel.Application")
Run Code Online (Sandbox Code Playgroud)
有人知道怎么修理吗?谢谢您的帮助
根据你的评论,你使用的是:
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
Run Code Online (Sandbox Code Playgroud)
然后,您在xlApp分配中收到语法错误.
这是正确的,因为该范围内的赋值无效(根本没有可调用的范围).
首先,设置option explicit on.
然后,确保使用定义所有实例变量Dim.
另外,创建一个构造函数,或者在下面的示例中,创建一个callable 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
Run Code Online (Sandbox Code Playgroud)
这不会产生语法错误,可能更接近您的意图.
这是因为在Class... End Class构造中,除了定义之外你不能有任何其他东西.没有陈述.作业是陈述.(=VBScript不支持在变量定义中使用" " 初始化.)