我的应用程序应该在Excel中执行一些简单的操作,例如添加图表,列表对象等。我正在使用OLE连接。问题是,某些Excel方法将内置类型(枚举)作为参数。我对提及它们没有任何想法。例如:
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脚本
答案 0 :(得分:1)
.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会让这个任务更容易。
答案 1 :(得分:0)
如何使用完全限定名称?
dim sourceType As Excel.XlListObjectSourceType
sourceType = Excel.XlListObjectSourceType.xlSrcRange
编辑:(在vbscript中)
dim sourceType
sourceType = 1