プロが教えるわが家の防犯対策術!

Excelのアドインファイルを移動する必要が出てきたのでVBAで移動させようとしています。
VBAは、アドインとは別のExcelファイルにコーディングしています。
アドインファイル名は MyAdd.xla とします。

MyAdd.xla を新フォルダに移動させることはできましたが、参照元の変更がうまくできません。
設定するPCの台数が多いので、自動で処理したいのです。
よろしくお願いします。

AddIns("MyAdd").Installed = False
AddIns.Add Filename:= "新フォルダパス\MyAdd.xla"
AddIns("MyAdd").Installed = True

A 回答 (1件)

こんにちは。


これ案外、難しいですね。
ネックは、アンインストールしたアドインを
Excel.Applicationのアドインのリストから削除する部分。
(そういうメソッドが用意されてない。)
移動後のアドインファイルの名前を変更しても良ければ、インストールまでは比較的簡単ですが。
私としては「VBS書いといて、スケジュールして、Excel.Applicationを閉じて、
VBSによりExcel.Applicationを再度開く」とか、
アイディアはあるのですが、書いて検証するまでの余裕が今ありません。
(検証に時間かけた方が良さそうですから。)
近々に自分の勉強の為、取り組むつもりではありますが、今のところ、
 『ユーザ定義関数(UDF)をVBAで完全にアンインストールしたい』
 http://www.excel.studio-kazu.jp/kw/2011092118361 …
こちら↑を参考になさってみてください。

未解決のまま数日経って、私の方で進展あれば再度レスしてみますが、
とりあえず、参考URLで解決の目途は立つとは思っています。
    • good
    • 0
この回答へのお礼

ヒントありがとうございました。

Excel.Applicationを閉じて・開いてというのがすごくヒントになり、VBAを2回に分けて実行すればうまくゆきました。

Excelを開いて
AddIns("MyAdd").Installed = False
Excelを閉じる

Excelを開いて
AddIns.Add Filename:= "新フォルダパス\MyAdd.xla"
AddIns("MyAdd").Installed = True
Excelを閉じる

今まで1回の処理で済まそうとしていたのが失敗でした。

お礼日時:2013/04/05 14:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!