/ / Как мога да се позова на вградения MS Excel тип с OLE - excel, vbscript, автоматизирани тестове, qtp, excel-2010

Как мога да се позова на вградения тип MS Excel с OLE - excel, vbscript, автоматизирани тестове, qtp, excel-2010

молбата ми трябва да изпълнява някои прости действияв Excel, като добавяне на диаграми, списъчни обекти и т.н. Аз използвам OLE връзката. Проблемът е, че някои методи на Excel приемат вградени типове (изброявания) като аргументи.

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

xlSrcRange и xlNo принадлежат към вграденото изброяване. Опитах се да ги препратя по следния начин

ExcelApp.xlSrcRange
ExcelApp.XlListObjectSourceType.xlSrcRange
ExcelApp.XlListObjectSourceType

този код причинява грешка "Обект не поддържа свойство или метод" ExcelApp.xlSrcRange"

New XlListObjectSourceType.xlSrcRange
new xlSrcRange

Този код причинява и грешка (неизвестна променлива XlListObjectSourceType и xlSrcRange)

Работя с QTP, а езикът на скрипта е VB-скрипт

Отговори:

1 за отговор № 1

Скрипт .wsf може да осъществи достъп до xl * константи чрез Excel.

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 за отговор № 2

Какво ще кажете за използването на напълно квалифицирано име?

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

EDIT: (в vbscript)

dim sourceType
sourceType = 1