2011-11-28 32 views
1

我的应用程序应该在Excel中执行一些简单的操作,如添加图表,列表对象等。我正在使用OLE连接。问题是,某些Excel方法将内置类型(枚举)作为参数。而且我没有提及他们的想法。例如:我怎样才能引用内置的MS Excel类型与OLE

WorkBook.ActiveSheet.ListObjects.Add(xlSrcRange, Range("$D$5:$J$15"), , xlNo).Name = "Table1" 

xlSrcRangexlNo属于内置枚举。我试过指他们在接下来的方式

ExcelApp.xlSrcRange 
ExcelApp.XlListObjectSourceType.xlSrcRange 
ExcelApp.XlListObjectSourceType 

此代码导致错误“对象不支持属性或方法ExcelApp.xlSrcRange

New XlListObjectSourceType.xlSrcRange 
new xlSrcRange 

这个代码导致错误太(未知的变数XlListObjectSourceType和xlSrcRange)

我用QTP和脚本语言的工作是VB脚本

回答

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会让这个任务更容易。

0

如何使用完全限定名称?

dim sourceType As Excel.XlListObjectSourceType 
sourceType = Excel.XlListObjectSourceType.xlSrcRange 

编辑:(在VBScript)

dim sourceType 
sourceType = 1 
+0

在这个版本的VB脚本构造“DIM AS ”是非法的。下一个语句会导致我在主题中提到的错误 – Eugene