みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel2007のマクロセキュリティ設定について

 質問させていただきます.
 どうぞよろしくお願いいたします.

 Excel2007のマクロを有効にするタイミングを,2007より前と同じように
ブックを開いたときにしたいのですが,設定方法はあるのでしょうか??

 2007で「開発」→「マクロのセキュリティ」→「マクロの設定」で
「警告を表示して全てのマクロを無効にする」にした場合,
ツールバーの「オプション」
        →「このコンテンツを有効にする」
        →「OK」
と毎回3回もマウスカーソルで選択しなければならず,
また,(2003まではデフォルトでブックオープン時にマクロ有効設定できていたので)
ブックが開いている際はマクロ有効設定済みと勘違いして,他のアプリから
マクロ実行しようとしてしまうなど,よくトラブルを起こしております.
 ボタン操作時も,SheetChange時も常に気をつけるしか方法は無いのでしょうか??

 もし何かアドバイスいただけることがございましたら,
是非よろしくお願いいたします.

投稿日時 - 2009-06-22 00:21:07

QNo.5063997

暇なときに回答ください

質問者が選んだベストアンサー

こんばんは。

私には、ご質問の内容が良く理解できません。

>他のアプリからマクロ実行しようとしてしまうなど,よくトラブルを起こしております.

もともと、他のアプリから実行するなら、通常は、オートメーションを使うのですから、セキュリティも何も関係ないのではありませんか?仮に、同じ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

なお、このマクロの知らない人のために説明しておくと、あくまでも、片方のブックをマクロを有効にして開けていないと変更できませんし、これはマクロのみの設定で、アプリケーションのセキュリティを変えるコードではありません。

投稿日時 - 2009-06-22 02:17:58

お礼

 どうもありがとうございます!
 教えていただいたコードをいろいろ試してみました.
知らないことばかりなので非常に勉強になりました.
お詳しい方に閲覧していただけて助かりました.どうもありがとうございました.

投稿日時 - 2009-06-27 10:13:14

ANo.2

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

2007で「開発」→「マクロのセキュリティ」→「信頼できる場所」で
「新しい場所を追加する」で現在エクセルファイルを置いている場所(フォルダ)をすべて追加してください。
そのフォルダにあるエクセルファイルのマクロはすべて有効になります。

注意:第三者からもらったエクセルは確認前に「信頼できる場所」へは置かない方がいいのでご注意ください。

投稿日時 - 2009-06-22 00:47:40

お礼

どうもありがとうございます!
「信頼できる場所」の設定がございましたか.勉強になりました.
自分の開発するフォルダをすべて追加しました.
ご親切にどうもありがとうございました.

投稿日時 - 2009-06-27 10:10:09

あなたにオススメの質問