|
作業効率化の為、VBAマクロのアドイン化にチャレンジしています。
以前、質問した際にご教授して下さった方、有難う御座いました。
ついては、
参照設定とアドイン関連について新規の質問をさせて下さい。
(いろいろ調査したが、ギブアップ状態)
【質問テーマ】
VBA参照設定を解除後にアドイン組込しても、アドイン機能が動作しない事への対処方法
(マクロ'xxxx'が見つかりません ★エラーが出る事がある)
【VBA実装と使用方法のイメージ】
□アドインファイル
''コマンドボタン
Sub OnMenuButton()
.OnAction = "OnBookBak"
End Sub
''アクティブブックを日時付の別名で退避
Sub OnBookBak()
xx(1) = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
xx(2) = ActiveWorkbook.Path & "\" & 日付付ファイル名
myFSO.CopyFile xx(1), xx(2)
End Sub
''共通化が可能な処理論理
Sub On条件読込()
For ix_cnt1 = ...
共通の行列仕様である条件シート(アクティブBookに存在)から
アクティブBook毎に異なるセル値を変数設定する。
wk_jk(ix_cnt1) = ...
next ix_cnt1
End Sub
□Book11.xls
・当ブックは固有マクロ機能を持たない。が
・アドイン機能を使用したい(OnBookBakのみ)
・手動にてアドインチェックし活用している
□Book22.xls
・当ブックは固有のマクロ機能を持つ。
・固有マクロからアドイン機能を呼出し活用する(On条件読込)
Workbooks(アドイン).Application.Run On条件読込
VBAAddIns1.wk_jk(..)で変数参照
・他のアドイン機能もそのまま使用したい(OnBookBakのみ)
・参照設定とアドイン組込・・・質問テーマ箇所
【質問テーマ詳細】
Book22.xlsは、
VB参照設定(References.AddFromFile)にてアドイン機能(On条件読込)を呼出し活用してて、
ブック作業が終わった際は、ブック保存と別名退避してからブックを閉じようとしています。
ブック保存と退避は、参照設定を外した状態で行いたいので<<理由>>、
参照設定解除(.References.Remove)し、
アドイン組込(AddIns.Installed = True)し、
アドイン機能(OnBookBak)を動作させようとしています。が ここで★エラーとなります。
さらに、★エラーが発生する操作条件に次が加わります。
・参照設定解除後のアドイン組込後に動作させたいアドイン機能(OnBookBak)を
参照設定している状態で動作実績がある場合。
<<理由>>
参照設定を残してBook保存すると、文書複製後の活用時やアドイン改版時で誤動作する
のではと気持ちが悪いので、解除してから保存したいのです。個人のコダワリです。
【質問点】
1.エラー発生時は次の様な症状が起こっているのですか?
.OnAction = "OnBookBak" では
マクロ実行時にパスが何処かに記録されてしまい、参照設定解除したら認識できなくなる。
(因みに、"OnBookBak"の前にアドインファイルのフルパス付けてもエラー再現しました)
2.1.YESの場合
どこに記録されているのですか?
また参照や変更は可能でしょうか?
3.エラー回避の方法論は何かあるでしょうか?
以上、宜しくお願い致します。
|
|