アドインを使用しているスプレッドシートをいくつか持っています(Addin2003と呼ぶことにします)。新しいバージョンのExcelへの移行のために、私は新しいアドインを使用するためにスプレッドシートのいくつかを必要とします(それをAddin2010と呼ぼう)。Excel:ファイルを開かずにアドインリファレンスを変更する
スプレッドシートを開いていなくても、スプレッドシートで使用されている参照を確認したり変更したりする簡単な方法はありますか?
だから、(擬似コード)のようなもの:それをより明確にするために
For each wbk in aListOfWorkbooks
If wbk.containsReference("Addin2003") And someOtherCriteria Then
wbk.removeReference("Addin2003")
wbk.addReference("Addin2010")
End If
Next
EDIT
、エクセル2003と2010は同じアドインがロードされていないので、私は依存しているいくつかのスプレッドシートを変更したいです2003年のAddinで、代わりに2010年のAddinを使用させてください。言い換えれば、これはワークブックを開いてVBAエディタを開き、Tools/Referencesメニューに行き、Addin 2003(Addisin 2003)からAddin 2010にリファレンスを変更するのと同じです。 もし私がExcel 2010のこれらのブック(2003年のAddinを持たない)では、Excelが2003年のAddinを見つけることができないという事実のために、さまざまなエラーが発生します。 そのため、ワークブックを開いて参照を変更しないほうが簡単かもしれないと思ったのです。
FINAL WORD
それを行うことはできないようだと私は物理的に参照を変更し、ファイルを開く必要があります。皆さん、ありがとうございました。おそらく、これに似た何かをしたいと思う
を、私は400の2.4MB Excelブックの開閉をタイムアウトしました。それは188秒かかりました。 1回限りの作業では、400件のワークブックごとに3分のオーバーヘッドを気にする必要はありません。 –
2つのバージョンのExcelに2つのAddinsはインストールされていませんが、試してみます。したがって、2003年にブックを開くと、2010のアドインが好きではなくなります。逆の場合も同様です... – assylias
ブックを開き、ブックを開くExcelアドインマクロとExcel 2003マクロを開くExcel 2003マクロがあります新しいアドインを追加します。 –