簡體   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