質問: excel2007のマクロセキュリティ設定について 質問させていただきます. どうぞよろしくお願いいたします. excel2007のマクロを有効にするタイミングを,2007より前と同じように ブックを開いたときにしたいのですが,設定方法はあるのでしょうか?? 2007で「開発」→「マクロのセキュリティ」→「マクロの設定」で 「警告を表示して全てのマクロを無効にする」にした場合, ツールバーの「オプション」 →「このコンテンツを有効にする」 →「ok」 と毎回3回もマウスカーソルで選択しなければならず, また,(2003まではデフォルトでブックオープン時にマクロ有効設定できていたので) ブックが開いている際はマクロ有効設定済みと勘違いして,他のアプリから マクロ実行しようとしてしまうなど,よくトラブルを起こしております. ボタン操作時も,sheetchange時も常に気をつけるしか方法は無いのでしょうか?? もし何かアドバイスいただけることがございましたら, 是非よろしくお願いいたします.
回答: こんばんは。 私には、ご質問の内容が良く理解できません。 >他のアプリからマクロ実行しようとしてしまうなど,よくトラブルを起こしております. もともと、他のアプリから実行するなら、通常は、オートメーションを使うのですから、セキュリティも何も関係ないのではありませんか?仮に、同じoffice 内のwordからの立ち上げでも、そのような表示はされません。application 側のセキュリティ設定は素通りになるはずです。miscrosoft 以外だとすれば、他のアプリといっても、非常に限られているはずですが。shell でアプリケーションを実行すれば、発生しますが、そのようにも思えませんし。 これは、あくまでも、excelならexcelの中での約束ごとにしか過ぎないはずです。 もし、excel to excel だとしても、セキュリティで、マクロを有効にして開いたブックなら、別に呼び出しに問題が発生するとは思えません。 もし、マクロでブックを呼び出して開くときに、セキュリティを変更するなら、以下のようにすればよいと思います。 sub test() if application.automationsecurity <> msoautomationsecuritylow then application.automationsecurity = msoautomationsecuritylow end if workbooks.open "testbook1.xlsm" application.automationsecurity = msoautomationsecuritybyui '戻す end sub なお、このマクロの知らない人のために説明しておくと、あくまでも、片方のブックをマクロを有効にして開けていないと変更できませんし、これはマクロのみの設定で、アプリケーションのセキュリティを変えるコードではありません。