/ / Wie könnte ich auf den integrierten MS Excel-Typ mit OLE Bezug nehmen - Excel, VBScript, Automatisiertests, QTP, Excel-2010

Wie könnte ich auf den integrierten MS Excel-Typ mit OLE verweisen - Excel, Vbscript, automatisierte Tests, QTP, Excel-2010

Meine Anwendung sollte einige einfache Aktionen ausführenin Excel, wie das Hinzufügen von Diagrammen, Listenobjekten usw. Ich verwende eine OLE-Verbindung. Das Problem ist, dass einige Excel-Methoden eingebaute Typen (Aufzählungen) als Argumente verwenden.

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

xlSrcRange und xlNr gehören zur eingebauten Aufzählung. Ich habe versucht, auf diese Weise darauf hinzuweisen

ExcelApp.xlSrcRange
ExcelApp.XlListObjectSourceType.xlSrcRange
ExcelApp.XlListObjectSourceType

Dieser Code verursacht den Fehler "Objekt unterstützt keine Eigenschaften oder Methoden ExcelApp.xlSrcRange"

New XlListObjectSourceType.xlSrcRange
new xlSrcRange

Dieser Code verursacht auch einen Fehler (unbekannte Variable XlListObjectSourceType und XlSrcRange)

Ich arbeite mit QTP und die Skriptsprache ist VB-Skript

Antworten:

1 für die Antwort № 1

Ein .wsf-Skript kann über eine Excel.Sheet-Referenz auf die xl * -Konstanten zugreifen:

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>

Ausgabe:

cscript xlconst.wsf xlNo xlYes

Const xlNo = 2
Const xlYes = 1

Normales VBScript kann nicht verwendet werden. Wenn QTP auf einfaches VBScript beschränkt ist, müssen Sie die Konstanten manuell hinzufügen / definieren. Vielleicht wird die obige .wsf diese Aufgabe erleichtern.


0 für die Antwort № 2

Wie wäre es mit einem voll qualifizierten Namen?

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

EDIT: (in vbscript)

dim sourceType
sourceType = 1