Question

J'ai essayé:

$sAddIn = "H:\prog\essxleqd.xla"
$oExcel = ObjCreate("Excel.Application")
$oExcel.Visible = 1
$oExcel.WorkBooks.Add
$oAddIn = $oExcel.AddIns.Add($sAddIn)
$oAddIn.Installed = True
$oExcel.WorkBooks.Open("H:\Balance_Inquiry.xls")

Quand je fais:

Run('"c:\pathtoexcel\excel.exe" "c:\pathtoaddin\addin.xla"')

Il fonctionnera. Mais je préfère la première solution parce que je besoin de deux compléments différents.

$sAddIn = "H:\prog\essxleqd.xla"
$oExcel = ObjCreate("Excel.Application")
$oExcel.Visible = 1
$oExcel.WorkBooks.Add
$oAddIn = $oExcel.AddIns.Add($sAddIn)
$oAddIn.Installed = False
$oAddIn.Installed = True
$oExcel.WorkBooks.Open("H:\Balance_Inquiry.xls")

Cela semble faire l'affaire. La première fois, il est bien installé et a travaillé. Par la suite, il n'a pas fait. Même quand il est installé, il n'exécute pas la deuxième fois. Peut-être que quelqu'un peut expliquer ou fournir une solution plus élégante?

Était-ce utile?

La solution

problème étrange. Il semble que l'addon ne le fera ses opérations lorsque vous l'installez? Ce n'est pas comment Excel doivent se comporter addons, et c'est pourquoi vous voyez un comportement étrange lorsque vous essayez d'automatiser.

Si les besoins addon pour être réinstallées au travail, alors en effet la seule solution est de réinstaller le addon.

$oAddIn.Installed = False
$oAddIn.Installed = True

Si cela est un addon qui est écrit par vous ou quelqu'un dans votre propre entreprise, vous voudrez peut-être d'identifier le problème dans l'addon lui-même. Je peux vous assurer en toute sécurité que le mode de fonctionnement normal fonctionne bien. :))

En bout de bonus, vous voudrez peut-être faire ceci:

$oAddIn = $oExcel.AddIns.Add($sAddIn, True)

Il copie le fichier à l'emplacement approprié si cela est nécessaire, sinon, il reste seul.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top