- 締切済み
Xpでのエクセルアドインの登録場所
自作の関数(ユーザーファンクション)を、windows98で作成し、アドインとしてMyDocumentsの下においていました。これをたとえば、UserFUNC.xlaとします。 これを引用する多数のブックがあるのですが、今回Xpに移行することになり、これUserFUNC.xlaを何処におくべきか分からず困っています。種々試しましたが、98から移行したブックを開くと、関数名が見つからない#NAME#?のエラーになります。たとえば、関数FUNC1は、'C:\Mydocuments\UseFUNC.xla'!FUNC1 のようになっているので、これを!以前を削除して、FUNC1 と書き直すとちゃんと計算してくれます。しかし、すべての引用を書き直すことは不可能です。正しい方法を教えてください。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
>これまで作ってきたブックの全てを、置換して使う(’C:MyDocuments..'をブランク''に置換する)ということも、事実上不可能です。 今、改めて、Addin の移動のテストをしてみました。 結論的には、2つの方法しかないようですね。 1つは、同じフォルダーを作って、そこに入れておく。 もう1つは、全ブックのアドインの式の置換のマクロを作って、自動置換をさせる。 ということでした。 今後のことも考えると、どうやら、 #*:\Program Files\Microsoft Office\Office\Library #の方がベターだそうです。 こちらは、間違いなさそうですね。 でも、これは、xla型のアドインの限界ですね。
- Wendy02
- ベストアンサー率57% (3570/6232)
#3 の訂正です。 #C:\Program Files\Microsoft Office\Office\Library #の方がベターだそうです。 #ユーザー・アドインは、そちらには入れないということなのですね。 #配布上の建前みたいなこともあるかと思います。 今、もう1度、その話の記録を追ってみましたが、その部分はあやふやです。 確かに、Win9x 系では、そういう話だったことには間違いありませんが、検討もせずに今まで信じていたのですが、Win Xpになると、意味が違ってくることに気が付きました。その当時の私とレベルも違いますし、今、それが必ずしも、正しいとはいえません。2つのうちの1つという、大意は変わりませんが、その部分は、<疑問がつく解答>として、棚上げさせていただきます。 混乱させてすみません。
- Wendy02
- ベストアンサー率57% (3570/6232)
hana-hana3さんがすでに述べられてはいますが、 もともと、"C:\My Documents\" には、アドインは置くべきではありませんね。特別なユーティリティを別に付けていれば良いのですが、支障はないものの、後々、あまり具合が良くありません。 それで、ある信頼のおける方に、昔、同じ質問をしたことがあるのですが、 >(全ユーザー共通) >[Officeインストールディレクトリ]\Office\Library\ >(ユーザー別) つまり、例では、 C:\Program Files\Microsoft Office\Office\Library の方がベターだそうです。 優先権というのか、Excelは自動的に、\Application Data 側を探すようですが、一応、棲み分けをさせ、ユーザー・アドインは、そちらには入れないということなのですね。配布上の建前みたいなこともあるかと思います。(厳密に決まりではありません。) その上で、アドインをメニューの[ツール]の[アドイン]の「参照」で探すようにすれば良いわけです。 C:\My Documents\が、Excelのデフォルトドライブだから、!前の部分を削除すると計算するということでしょうけれど、一旦、最初から、アドインの登録のし直しのほうがよいと思います。 上記2つのフォルダ以外の場所は、お勧めできません。アドインを消しても、Excel上からは、その名称を通常メニューからは削除できないからです。 参考:MSDN: Office アプリケーション固有のアドインの配置
- hana-hana3
- ベストアンサー率31% (4940/15541)
訂正です。 >エクセルの置換機能で「'C:\Mydocuments\」の部分を エクセルの置換機能で「'C:\Mydocuments\UseFUNC.xla'!」の部分を にしてください。
- hana-hana3
- ベストアンサー率31% (4940/15541)
アドインフォルダは規定の位置に置いてください。 (全ユーザー共通) [Officeインストールディレクトリ]\Office\Library\ (ユーザー別) [ユーザー別Profileディレクトリ]\Application Data\Microsoft\AddIns\ または、 Sub LibPath() MsgBox Application.LibraryPath MsgBox Application.UserLibraryPath End Sub で表示されるフォルダ。(前記と同じですが・・・) あとは、エクセルの置換機能で「'C:\Mydocuments\」の部分を "" (空白)で置換すると良いでしょう。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1403067
お礼
hana-hana3 さん、ありがとうございます。 規定のフォルダーというのがあるのですね。 知りませんでした。 MyDocumentsなら、未来永劫にユニークなフォルダーだと、Win9x時代には思っていましたので。 早い話が、手遅れということでしょうか? そういっていただけると安心するわけですが、 何かうまい方法があるのかと思っていました。 安心しても、問題解決ではないのですが。。。
お礼
Wendy02さん、ありがとうございます。 アドインを置く場所によって、こういう混乱が生じるとは知りませんでした。 Xpまでは、マシンの変更やOSの変更を問題なく乗り切っていたので、今回初めて遭遇した問題です。 なにかうまい抜け方があるのかと思っていました。 これまで作ってきたブックの全てを、置換して使う(’C:MyDocuments..'をブランク''に置換する)ということも、事実上不可能です。また、Xp以降のことも考えると、種々悩ましくなるばかりです。 また、ご教示ください。