我尝试在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")
有人知道如何修理吗? 谢谢你的帮助
答案 0 :(得分: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分配中遇到语法错误。
就是这样,因为该范围内的分配无效(根本没有可调用的范围)。
首先,设置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不支持在变量定义中使用" =
"初始化。)