2011-11-28 68 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