- ベストアンサー
Excel2003 GET.CELL関数を使うとマクロ警告が出てしまう
最近塗りつぶしセルをカウントする方法としてGET.CELL関数というものを知りました。 [参考内容] http://oshiete1.goo.ne.jp/kotaeru.php3?q=1225959 こちらの手順とおりにGET.CELL関数を使用することで、希望の結果は得られたのですが、 EXCELファイルを保存後に閉じて、再度開くとマクロに関する警告ダイアログが表示されてしまいます。 [具体的な警告文] このブックにはMicrosoft Excel4.0マクロが1つ以上含まれています。これらのマクロにはウィルスや 安全でないコードが含まれている可能性があります。このブックの作成元が信頼できる場合だけ ブックを開いてください。これらのマクロを有効にしてよろしいですか?(はい)(いいえ)」 このファイルにはマクロは登録してないので、Alt+F11でVBAを直接呼び出してみましたが やはりマクロは見当たらず、当然モジュールの開放も出来ませんでした。 マクロセキュリティのレベルを「低」にすることで回避はできるのですが、出来ればセキュリティレベルは保持したいので これ以外に警告ダイアログを回避する方法はございますでしょうか? 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 ちょっと脱線気味で書かせていただいてよいでしょうか? MSは、Ver.4 マクロ関数を追い出したいようです。だったら、それに替わる関数を作れって思います。Ver.4 マクロ関数に替わるものが、本当には、VBAにはありません。なお、Excel2003のアドインにも、Ver.4 マクロ関数が使われています。 >やはりマクロは見当たらず、当然モジュールの開放も出来ませんでした。 場所が違います。挿入-名前-定義の中にあります。 >マクロセキュリティのレベルを「低」にすることで回避はできるのですが、出来ればセキュリティレベルは保持したいのでこれ以外に警告ダイアログを回避する方法はございますでしょうか? 私から言わせると、この「中」とか「高」とかいうのは、何も役に立たないと思います。それは、簡単に外部から変更できるからです。Excelのセキュリティ設定で、ウィルスを防ぐというのは、VBAなどを知らない人のための、一種のプラセボなのです。いずれは、今のセキュリティ方式を、MS自身で守れなくなるはずです。 本来は、「低」にしておいてもよいのですが、その代わり、 ・アンチ・ウィルスソフトを使用すること、 ・名の知れたメーカー製でも、むやみにアドインを入れないこと(Win9x系の時代のアドインは、自動インストーラーでは入れないこと) ・製作者の明らかでないものは使わないこと としてルールを設けていかないと、今後、再びコンパイル型のものが頻繁になった時に、まったく、防ぎようがなくなります。 http://support.microsoft.com/kb/820739/ja [XL2003] マクロのセキュリティレベルが [高] に設定されている XLM マクロを含むブックを開けない これで直していただければよいのですが、経験のない方には、少し難しいです。 それをしたくないのでしたら、一般のVBAに切り替えてください。 それを、個人用マクロブックに入れていただくしかありません。そして、ツール-マクロ-セキュリティ-信頼できる発行元の 「組み込み済みのアドインとテンプレートを全て信頼する(A) にチェックを入れてください。 示されたURLの中では、#3 さんのタイプのものです。#1 さんのは、ちょっと、コードの考え方がなぜか少しヘンです。
その他の回答 (1)
- mshr1962
- ベストアンサー率39% (7417/18945)
>EXCELファイルを保存後に閉じて、再度開くとマクロに関する警告ダイアログが表示されてしまいます。 GET.CELL関数自体がExcel4.0マクロの関数だからです。 なのでこの関数を使用する限り回避できません。 Excel4.0マクロの関数 http://support.microsoft.com/kb/402616/ja
お礼
ありがとうございました。 単純明快な回答、ソースの提示と、素晴らしいご回答でした。
お礼
ありがとうございました。 回答以外の部分でも、丁寧な補足をつけていただいたことで「No.1さん」の回答と併せて 非常に有益な情報を教えていただくことができました。