我试过了:
$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")
当我这样做时:
Run('"c:\pathtoexcel\excel.exe" "c:\pathtoaddin\addin.xla"')
它会起作用。但我更喜欢以前的解决方案,因为我需要两个不同的插件。
$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")
这似乎可以解决问题。第一次安装和工作。之后它没有。即使安装它也不会第二次执行。也许有人可以解释或提供更优雅的解决方案?
答案 0 :(得分:0)
如果需要重新安装插件才能工作,那么确实唯一的解决方案是重新安装插件。
$oAddIn.Installed = False
$oAddIn.Installed = True
如果这是您或您自己企业中的某人编写的插件,那么您可能希望在插件本身中识别问题。我可以向你保证,正常的操作方式效果很好。 :))
作为奖励提示,您可能希望这样做:
$oAddIn = $oExcel.AddIns.Add($sAddIn, True)
如果有必要,它会将文件复制到适当的位置,否则它将保持不变。