Mi aplicación debe realizar algunas acciones simples.en Excel, como agregar gráficos, enumerar objetos y así sucesivamente. Estoy usando la conexión OLE. El problema es que algunos métodos de Excel toman tipos incorporados (enumeraciones) como argumentos. Y no tengo ideas sobre cómo referirme a ellos. Por ejemplo:
WorkBook.ActiveSheet.ListObjects.Add(xlSrcRange, Range("$D$5:$J$15"), , xlNo).Name = "Table1"
xlSrcRange y xlNo Pertenecen a la enumeración incorporada. Intenté referirme a ellos de la siguiente manera.
ExcelApp.xlSrcRange
ExcelApp.XlListObjectSourceType.xlSrcRange
ExcelApp.XlListObjectSourceType
este código provoca el error "El objeto no" admite la propiedad o el método ExcelApp.xlSrcRange"
New XlListObjectSourceType.xlSrcRange
new xlSrcRange
este código también causa un error (variable desconocida XlListObjectSourceType y xlSrcRange)
Estoy trabajando con QTP y el lenguaje de script es VB-script
Respuestas
1 para la respuesta № 1Una secuencia de comandos .wsf puede acceder a las constantes xl * a través de una referencia Excel.Sheet:
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>
salida:
cscript xlconst.wsf xlNo xlYes
Const xlNo = 2
Const xlYes = 1
VBScript simple puede "t. Si QTP está restringido a VBScript simple, tendrá que agregar / definir las constantes manualmente. Quizás lo anterior .wsf hará esta tarea más fácil.
0 para la respuesta № 2
¿Qué hay de usar el nombre completo?
dim sourceType As Excel.XlListObjectSourceType
sourceType = Excel.XlListObjectSourceType.xlSrcRange
EDITAR: (en vbscript)
dim sourceType
sourceType = 1