• ベストアンサー

VBA 自作のマクロの場合はマクロを実行しますかと聞かれなくしたい

自分で作ったマクロを含むエクセルファイルを開くとき、 いちいちマクロを実行しますかと聞かれるのは 面倒なので、自分のマクロは信頼するということで、 聞かれないようにしたいのですが、可能でしょうか? 自作エクセルファイルには署名(キーワードとか)がしてあって、 そのキーワードが書いてあれば無条件にマクロを実行するなんて できないでしょうか?

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。Wendy02です。 自分のマクロを信頼するなら、デジタル署名をつけて、セキュリティ・ダイアログの中の信頼する発行元に入れておくという方法もあります。これは、もちろん、他のPCでも有効です。そのマシンのみではありません。ただし、「中」に留まります。Excel2000以前は、「高」まで通りました。 しかし、その上のCA証明なんていうのは、個人では不可能です。マイクロソフトは、以前は個人でも可能な手段もあると書かれてあり、探してみましたが、個人ではほぼ無理でした。コストパフォーマンスが悪すぎます。 そうでなければ、アドインにするとか、PERSONAL.xlsに入れるとかします。 ただし、セキュリティの「信頼できる発行元」組み込み済みのアドインとテンプレートをすべて信頼する(A) にチェックを入れることです。 もしくは、「低」にしておくことですね。 本来は、マクロ-セキュリティ-中 以上にするという根拠から考えたほうがよいと思います。私には、特に「中」には、何の根拠もないと思います。しょせん、マクロを使いたければ、マクロを使えるようにするし、そうでなければ、使えないわけです。 私は、この本当のコンセプトって何だろうって考えると、本格的なセキュリティ・オプションをつけるには予算がなく、ほとんど気休め的なもので取り付けたのだと思います。確かに、Office のウィルスというのは現実にありますが、添付のセキュリティ自体で、ウィルスを選別できるわけではないので、単に、マクロ付きかマクロなしかのファイルを区分けするだけのためにしかありません。マクロを使いたくない人のための、ナンセンスな機能だと思います。 もし、調べるなら、ちゃんとアンチウィルス・ソフトに通すべきで、このセキュリティ・レベル自体は、簡単に変えられてしまいます。しかし、今後、VBA自体は、外に追いやられていくものだと考えています。

VitaminBB
質問者

お礼

回答ありがとうございます。

その他の回答 (4)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

#4のWendy02です。 #3さんの、井上氏のサイトの内容ですが、少し、説明に不足があるようです。 # 自己署名入り証明書は、作成に使われたコンピュータでのみ信頼のおけるものとみなされます。 確か、Excel2002以上では、それは、「高」のことだと思います。少なくとも、Excel2002や、私のPCのExcel2003で、セキュリティ・レベルが「中」では、そのようなことはありません。他の環境でも試してみました。 ただし、作った証明パスは、本来は、Office の機能ではなく、IE の発行でV3レベルです。

VitaminBB
質問者

お礼

回答ありがとうございます。

回答No.3

driverIIさんの回答によると、マクロを作ったマシンでだけ有効な 署名があるようですね。キーワードは「selfcert.exe」。 というわけでググってみると、Windows版のOffice2000以降では自作 のマクロを「作成した環境の中でだけ」信用することが可能だと判 ります。外部(Windows再インストールも含む)に出すとあからさまに 怪しい署名扱いされてしまいますが。

参考URL:
http://www.asahi-net.or.jp/~ef2o-inue/secur/sub07_02.html
VitaminBB
質問者

お礼

回答ありがとうございます。

  • driverII
  • ベストアンサー率27% (248/913)
回答No.2

あと一点。Excel の古いバージョンでは、 ツール>マクロ>セキュリティで セキュリティレベルを(低)にすれば、メッセージは出ませんが、 全て出なくなってしまいます。 この方法で自分のマクロをさわる時だけ(低)にして、それ以外の場合(中)にするというのが、現実的かもしれません。

VitaminBB
質問者

お礼

回答ありがとうございます。

  • driverII
  • ベストアンサー率27% (248/913)
回答No.1

Excel 2007 以外では無理でしょう。 そもそもその機能はマクロウィルス対策なのですが、確かに安全であるものに対しては、無駄に思えます。 Excel にはデジタル署名がありますが、それはコードが改ざんされていないことを証明するもので、やはり選択メッセージが出てきてしまいます。 Excel 2007 では、デジタル署名があれば、署名付きのコードを開いたときの処理を選択できるようです。ただこの署名を取得するには通常、費用が発生します。 http://office.microsoft.com/ja-jp/excel/HP100969191041.aspx?pid=CH101001571041

参考URL:
http://office.microsoft.com/ja-jp/excel/HA012317811041.aspx
VitaminBB
質問者

お礼

回答ありがとうございます。

関連するQ&A