繁体   English   中英

如何使用OLE引用内置MS Excel类型

[英]How could I refer to built-in MS Excel type with OLE

我的应用程序应该在Excel中执行一些简单的操作,例如添加图表,列出对象等。 我正在使用OLE连接。 问题在于,某些Excel方法采用内置类型(枚举)作为参数。 而且我没有提到它们的想法。 例如:

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脚本

.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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM