2011-01-12 14 views
0

は、私が試した:AutoItの負荷エクセルアドイン

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

それは動作します。しかし、私は以前のソリューションを好んでいます。なぜなら、私はExcelでさまざまなことをする必要があり、これはもっと簡単になるからです。

UPDATE:

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

これはトリックを行うようです。インストールされスクリプトが実行されたのは初めてです。その後、それはしませんでした。 奇妙な部分は、それがインストールされていても2回目は実行されないということです。だから私は偽の部分をしなければならないたびに...

誰かがもっと洗練された解決策を説明したり提供したりすることはできますか?

+0

あなたの質問は何ですか? – aphoria

答えて

0

確かに奇妙な問題です。あなたはそれをインストールするときにアドオンはその操作を行うだけでしょうか?それはExcelのアドオンがどのように動作すべきかではないので、それを自動化しようとすると奇妙な動作が見られるのです。

アドオンを再インストールして動作させる必要がある場合は、唯一の解決策はアドオンを再インストールすることです。

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

これは、あなたまたはあなた自身のビジネスの誰かによって書かれたアドオンの場合、アドオン自体の問題を特定することができます。正常な動作モードがうまく動作することを私は安全に保証することができます。 :))

をボーナスチップとして、あなたはこれをしたいかもしれません:

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

ことが必要である場合には、適切な場所にファイルをコピーしますが、それ以外の場合は、放置されています。