【问题标题】:Load Excel add-in加载 Excel 加载项
【发布时间】:2011-01-12 13:15:51
【问题描述】:

我试过了:

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

这似乎可以解决问题。第一次安装并工作。后来就没有了。即使安装了它,它也不会第二次执行。也许有人可以解释或提供更优雅的解决方案?

【问题讨论】:

    标签: excel autoit


    【解决方案1】:

    真是奇怪的问题。似乎插件只有在安装时才会执行它的操作?这不是 Excel 插件应有的行为方式,这就是为什么您在尝试自动化它时会看到奇怪的行为。

    如果需要重新安装插件才能工作,那么确实唯一的解决方案是重新安装插件。

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

    如果这是由您或您自己企业中的某个人编写的插件,那么您可能希望找出插件本身的问题。我可以放心地向您保证,正常的操作模式运行良好。 :))

    作为奖励提示,您可能希望这样做:

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

    如果有必要,它会将文件复制到适当的位置,否则将不理会。​​p>

    【讨论】:

      猜你喜欢
      • 2010-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-26
      相关资源
      最近更新 更多