我怎样才能引用内置的MS Excel类型与OLE
问题描述:
我的应用程序应该在Excel中执行一些简单的操作,如添加图表,列表对象等。我正在使用OLE连接。问题是,某些Excel方法将内置类型(枚举)作为参数。而且我没有提及他们的想法。例如:我怎样才能引用内置的MS Excel类型与OLE
WorkBook.ActiveSheet.ListObjects.Add(xlSrcRange, Range("$D$5:$J$15"), , xlNo).Name = "Table1"
xlSrcRange和xlNo属于内置枚举。我试过指他们在接下来的方式
ExcelApp.xlSrcRange
ExcelApp.XlListObjectSourceType.xlSrcRange
ExcelApp.XlListObjectSourceType
此代码导致错误“对象不支持属性或方法ExcelApp.xlSrcRange”
New XlListObjectSourceType.xlSrcRange
new xlSrcRange
这个代码导致错误太(未知的变数XlListObjectSourceType和xlSrcRange)
我用QTP和脚本语言的工作是VB脚本
答
以.wsf脚本可以经由Excel.Sheet参考访问XL *常量:
type xlconst.wsf
<?xml version="1.0" standalone="yes" encoding="iso-8859-1" ?>
<package>
<job id="xlconst">
<reference object="Excel.Sheet" reference="true"/>
<script language="VBScript">
<![CDATA[
' ############################################################################
For Each arg In WScript.Arguments.Unnamed
WScript.Echo "Const " & arg & " = " & Eval(arg)
Next
' ############################################################################
]]>
</script>
</job>
</package>
输出:
cscript xlconst.wsf xlNo xlYes
Const xlNo = 2
Const xlYes = 1
普通的VBScript不能。如果QTP仅限于普通的VBScript,则必须手动添加/定义常量。也许上面的.wsf会让这个任务更容易。
答
如何使用完全限定名称?
dim sourceType As Excel.XlListObjectSourceType
sourceType = Excel.XlListObjectSourceType.xlSrcRange
编辑:(在VBScript)
dim sourceType
sourceType = 1
在这个版本的VB脚本构造“DIM AS”是非法的。下一个语句会导致我在主题中提到的错误 –
Eugene