Frage

Ich habe versucht:

$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")

Wenn ich tun:

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

Es wird funktionieren. Aber ich ziehe die frühere Lösung, weil ich brauche zwei verschiedene Add-In.

$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")

Dies scheint den Trick zu tun. Zum ersten Mal wurde es installiert und arbeitete. Danach tat es nicht. Selbst wenn es installiert ist, es nicht zum zweiten Mal ausführen. Vielleicht kann mir jemand erklären, oder eine elegantere Lösung zur Verfügung stellen?

War es hilfreich?

Lösung

seltsames Problem in der Tat. Es scheint, dass das Addon nur seine Operationen tun, wenn Sie es installieren? Das ist nicht, wie Excel Add-Ons sich verhalten soll, und das ist, warum Sie ein merkwürdiges Verhalten sehen, wenn sie versuchen, es zu automatisieren.

Wenn die Add-on arbeiten muss neu installiert wird, dann in der Tat die einzige Lösung ist das Addon neu zu installieren.

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

Wenn dies ein Addon, das von Ihnen oder jemand in Ihrem eigenen Unternehmen geschrieben wird, dann könnten Sie wollen das Problem in dem Addon selbst zu identifizieren. Ich kann Ihnen sicher versichern, dass der normale Betriebsmodus gut funktioniert. :))

Als Bonus-Tipp, möchten Sie vielleicht, dies zu tun:

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

Es wird die Datei an die entsprechende Stelle kopieren, wenn das notwendig ist, sonst ist es allein gelassen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top