私はプロジェクトのためにExcelでいくつかのVBAマクロを扱っています。マクロを使用してVBAマクロを開くときに、VBAマクロが他のExcelブックから起動しないようにする方法はありますか?例えば他のExcelシートからマクロを無効にする
、のは、私はいくつかの他のExcelファイルを開くには1つのワークブック内のマクロを持っているとしましょう:
Sheets("Sheet1").Select
PathName = Range("D3").Value
Filename = Range("D4").Value
TabName = Range("D5").Value
ControlFile = ActiveWorkbook.Name
Workbooks.Open Filename:=PathName &; Filename
私は通常、やったことは私はありませんことを保証するために、サブルーチンへApplication.EnableEvents = False
が含まれています他のワークブックを開くとコードがトリガされます。これは、先にSO postによって提案された方法論でもあります。
しかし、二つの質問が頭に浮かぶ:
が、これは "安全" となっていますか?イベントを無効にしても、アクティブなアプリケーションで実行される独自のマクロをユーザーが作成できる方法はありますか?
イベントを完全に無効にすること以外の回避策がありますか?これはやや限定されているように見え、ほとんどが「お風呂に入って赤ちゃんを投げつけている」ようです。
使用SQLワークシートからデータを取得するために...開いたファイルのためのVBAエディタのマクロモジュールを参照してくださいすることはできません – jsotola