Pregunta
Me trató:
$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")
Cuando hago:
Run('"c:\pathtoexcel\excel.exe" "c:\pathtoaddin\addin.xla"')
Se trabajará. Pero yo prefiero la primera solución porque necesito dos diferentes complementos.
$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")
Esto parece hacer el truco. La primera vez que quedó instalado y funcionó. Después no lo hizo. Incluso cuando se instala no ejecuta la segunda vez. Tal vez alguien puede explicar o proporcionar una solución más elegante?
Solución
extraño. Parece que el complemento sólo lo hará sus operaciones cuando se instala? No es así como complementos de Excel deben comportarse, y es por eso que está viendo un comportamiento extraño cuando se trata de automatizarlo.
Si las necesidades de montaje anexo a ser reinstalados a trabajar, a continuación, de hecho la única solución es volver a instalar el complemento.
$oAddIn.Installed = False
$oAddIn.Installed = True
Si se trata de un complemento que está escrito por usted o alguien de su propio negocio, entonces puede que desee para identificar el problema en el propio complemento. Les puedo asegurar con certeza que el modo normal de operación funciona bien. :))
Como dato adicional, es posible que desee hacer esto:
$oAddIn = $oExcel.AddIns.Add($sAddIn, True)
Se copia el archivo en la ubicación apropiada si ello es necesario, de lo contrario, se queda solo.