■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#9272-0
Excelで他ブックのマクロ参照時のパスについて
Excelの質問です。
Aブックのボタンにマクロの登録機能でBブックのマクロを参照登録して使ってます。
しかしAブックを別のフォルダに移動したりすると、Bブックの参照パスが自動的に
変わってしまい、ボタンを実行するとマクロがありませんと怒られてしまいます。
参照パスはフルパスで記述しているのですが、なぜ変わるのでしょう?
(相対パスのような動きで、移動したAブックの移動先のパスに変わります)
これを変えない(絶対パス)ようにはできないのでしょうか?
#9274-0
RE#9272:Excelで他ブックのマクロ参照時のパスについて
> Aブックのボタンにマクロの登録機能でBブックのマクロを参照登録して使ってます。
> しかしAブックを別のフォルダに移動したりすると、Bブックの参照パスが自動的に
> 変わってしまい、ボタンを実行するとマクロがありませんと怒られてしまいます。
> 参照パスはフルパスで記述しているのですが、なぜ変わるのでしょう?

何故って言われても困りますが、回避策はあります。
AブックのWorkbook_OpenイベントまたはAuto_Openプロシージャに、Bブックを開き、
マクロを登録するコードを書きます。後者は、#9146でも書きましたが、OnActionを使います。

Activesheet.Buttons("ボタン名").OnAction = "プログラム名!マクロ名"
'(プログラム名にはパスを含めずに設定します)

この場合Bブックを先に開いておくことがポイントです。
(すでに開いていないか確認してからにしましょう)
また、ボタンには最初はマクロを登録していなくてもOKです。

運用上は、AブックとBブックを同じフォルダに入れるか、Bブックを固定パスから動かさないこと
が必要になるでしょう。(でないと開けないし(汗))
#9290-0
RE#9274:Excelで他ブックのマクロ参照時のパスについて
みゃおさん 回答ありがとございます。
やってみて問題なさそうな事を確認できました。
ただいじわるテストで他のディスクドライブにAブックをコピーして使おうとすると、
またBブックのマクロパスが変わってしまったのですが、このような使い方はしない
ように気をつければいいのですね。
どうもありがとうございました。
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)