mon application doit effectuer des actions simplesdans Excel, comme l’ajout de graphiques, la liste d’objets, etc. J'utilise une connexion OLE. Le problème est que certaines méthodes Excel utilisent des types intégrés (énumérations) comme arguments. Et je n’ai aucune idée quant à leur référence. Par exemple:
WorkBook.ActiveSheet.ListObjects.Add(xlSrcRange, Range("$D$5:$J$15"), , xlNo).Name = "Table1"
xlSrcRange et xlNo appartiennent à l'énumération intégrée. J'ai essayé de me référer à eux d'une manière suivante
ExcelApp.xlSrcRange
ExcelApp.XlListObjectSourceType.xlSrcRange
ExcelApp.XlListObjectSourceType
ce code provoque une erreur "Object ne" prend pas en charge la propriété ou la méthode ExcelApp.xlSrcRange"
New XlListObjectSourceType.xlSrcRange
new xlSrcRange
ce code provoque également une erreur (variable inconnue XlListObjectSourceType et xlSrcRange)
Je travaille avec QTP et le langage de script est VB-script
Réponses:
1 pour la réponse № 1Un script .wsf peut accéder aux constantes xl * via une référence 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>
sortie:
cscript xlconst.wsf xlNo xlYes
Const xlNo = 2
Const xlYes = 1
VBScript simple peut "t. Si QTP est limité à VBScript simple, vous devrez ajouter / définir les constantes manuellement. Peut-être que le fichier .wsf facilitera cette tâche.
0 pour la réponse № 2
Que diriez-vous d'utiliser un nom complet?
dim sourceType As Excel.XlListObjectSourceType
sourceType = Excel.XlListObjectSourceType.xlSrcRange
EDIT: (en vbscript)
dim sourceType
sourceType = 1