

Excel2000でマクロ入りのワークシートを作り、知り合い複数に配ったところ、Excel2003を持っている人から「マクロが動かない」と言われました。
原因を探ってみると、2003でセキュリティレベルが「高」になっているためでした。
私も2003を持っているのでそちらで確認し、セキュリティレベルを「中」にすれば使えることを伝えたのですが、何人かは自分のパソコンではないのでセキュリティレベルを変えられない、他の人はセキュリティレベルを変えるのは怖くて出来ない、と言います。
Excel2000の頃は出来ていたのに、2003になってこういう問題が出てきて困っています。
デジタル署名をつければいいということはわかったのですが、個人でデジタル署名をつけるとなると、やはりお金を払って証明書を発行してもらうしかないのでしょうか?
お金をもらって配布しているわけではないので、そういう出費をすることはできません。
今後、他のメンバーにも配る予定なので、このような状態だとどうしようもなくなってしまいます。
なにか解決方法はないのでしょうか。
よろしくおねがいします。
No.1ベストアンサー
- 回答日時:
こんにちは。
以前、以下でも書いたのですが、VBAを書く者にとっては大問題です。証明書を取れないアマチュアは、ボイコットということですからね。
以下など、いつも、この件に関しては、あれこれと書いております。
エクセルマクロのデジタル認証について
http://oshiete1.goo.ne.jp/kotaeru.php3?qid=1770814
根本的には、個々のユーザーの誤解と、その元凶には「MSにモノを言うユーザー」によるものらしいということが分かりました。要するに、素人VBAプログラマーの作るものなどは信頼が置けないのだから、ブロックアウトしましょう、というのが発端のようですね。(そのオプションは、使いたい人とそうでない人の間の折衷案のようですが。)
誤解というのは、それ自体がウィルスのチェックをしているわけではないからです。単に、マクロが入っています、とメッセージが出るのか、マクロを使いたくない人のオプションにしか過ぎないわけです。この周辺に、MS-Office 指定のアンチウィルスAPI を持つソフトウェアというのが存在します。それを使っている人は、「低」でも良いということなのですが、これは、海外の大手のソフトメーカーに限ります。たとえば、シマンテック、トレンドマイクロ等。
ですから、本来、「高」のままの人は、その意味自体を考えてもらい、出来れば、配布はやめたほうがよいと思います。それを越えてまで使わせるという理由は、どのような事情があれ、私はないと思います。ウィルスがどのようなものかも知らなければ、セキュリティの意味さえしらない、ただ、既存の機能があればよいというだけとしかいいようがないのです。
Excelの2000以上で、そのセキュリティを変更する方法を平気で公開する人がいますが、それは、いくら、ウィルスではないにしても、他人のPC環境でセキュリティレベルをマクロで変えたら、それはハッキング行為です。それは、してはならない、プログラマの最低限の常識だと思います。
>個人でデジタル署名をつけるとなると、やはりお金を払って証明書を発行してもらうしかないのでしょうか?
いわゆる CA証明のことですが、コンピュータの管理をしている知り合いにも聞いてみたりしました。海外では安価で登録してくれるところがあるというのですが、日本では、年間最低でも、6~7万円するようです。たとえば、セコムとかVeriSignとか。これと別に、海外ではアングラツールが出回ったそうですが、その実態は知りませんが、MSはセキュリティを変えたそうです。せめて、プロバイダの発行する証明書が使えればと思ったのですが、それもダメでした。(有償です)
それで、これも折衷案ですが、マクロを分離してアドイン型にすることですね。
アドイン型なら、他のアドインも動かしている人はほとんどですから、 Excel2003は、「高」でも通ります。「最高」は通りません。それも嫌だという人は、アドインも使わないのだから、もともと、マクロなども使わない人です。それは無視してよいと思います。
一応、ローカルのApplication Data の場所が必要です。
C:\Documents and Settings\[ユーザー]\Application Data\Microsoft\AddIns\
時々、Program Files 側に、アドインを入れる人がいますが、Win 2000 以上では、芳しくありません。
それをインストーラを使うことになるかと思います。今、私は、きちんとインストーラについて研究してはいないので、詳しくはお答えできません。
最後に、マクロ-セキュリティ-信頼できる発行元
□組み込み済みのアドインとテンプレートをすべて信頼する
にはチェックが入っていないといけません。
ありがとうございます。そもそもの所以からわかってとても有り難いです。
>素人VBAプログラマーの作るものなどは信頼が置けない
ってのは困りますね(泣)。VBAって、そもそも素人でも扱えるプログラムというイメージだったのですが。。。
普通に複数のユーザー又はパソコンで使うことはあり得ると思うのに、こういう事態を想定してなかったのかなと思いますね。
とりあえず、セキュリティレベルを変えてもらうよう説得してみようと思います。向こうも私のファイルが使えないと困るのは事実ですし。
アドインとインストーラの方は経験がないのでちょっとハードルは高いですが、説明を見ると出来るかもしれないと思うので勉強してみようと思います。
わかりやすい説明でした。ありがとうございました。

No.3
- 回答日時:
#1さんが提案されたようにアドイン化するのがベターだと思いますが、
セキュリティレベル「高」の状態でマクロを有効にする方法がないわけではありません。
>>使用者が自分で証明書を作成し、使用者自身が署名すればいいのです<<
コードが保護されている場合にはできませんし、使用者側に多少の技術力と若干の手間が必要ですが、
・最低限の知識・技術がある人が、
・自分でコードを見た上で、
・自己責任で使用する。
と言う意味では順当な手順かと思います。
1.Selfcert.exeを起動する。
(2003の場合、C:\Program Files\Microsoft Office\OFFICE11 あたりにある)
2.適当な名前を入れてOK
3.VBEを開く
4.ツール>デジタル署名>選択>証明書を選択>OK>OK
このタイプの証明書はエクスポートできません。
このタイプの署名は、署名したPC以外では実質無効です(Office2003の場合)
私の個人的な考えですが、
・"セキュリティレベル"の意味合いを理解していない
・セキュリティレベルを変更する裁量がない=マクロの使用について裁量がない
・自分でコード開いて署名する技術力がない
・それらをカバーする人間が周囲にいない
という人はそもそもマクロを使用するべきではないと思います。
善意のマクロであっても、既定と異なる挙動が原因となって
周囲を巻き込んだトラブルに発展する可能性は十分あります。
アドイン化するにしても、将来的に
「前のパソコンでは動くのに新しいパソコンでは動きません!!」
「アドインかなにか使ってたんじゃないですか?」
「アドインって一体なんですか??初心者なのでわかりやすく説明してください!!」
みたいなやりとりが発生しそうな予感がします(苦笑
↓下記は私がいつもお世話になっているサイトの署名関係の記述です
参考URL:http://www.asahi-net.or.jp/~ef2o-inue/secur/sub0 …
ありがとうございます。
>>使用者が自分で証明書を作成し、使用者自身が署名すればいいのです<<
ということは、先方に自分で作ってもらう、ということですよね。
私がフォローできる範囲の人なら出来そうです。
これも選択肢の一つになりそうです。
たしかに、予定外の操作でフリーズすることもあり得ますし、フリーズしなくても、VBAのエラーメッセージが出たりした時点で「動かなくなった!」「フリーズした!」と言われる可能性はあります。エラー回避の策はとってますが、それでも想定外、ということはありますし。。。
やはり使う側にレベルアップしてもらうことを考えるのが第一のようですね。
ありがとうございます。
こちらもわかりやすい説明で参考になりました。
No.2
- 回答日時:
追伸:
# 今、私は、きちんとインストーラについて研究してはいないので、詳しくはお答えできません。
以下のインストーラで、アドインが、正しい場所にインストールすることを確認できました。
以下は個人用はフリーソフトウェアですが、プロフェッショナルライセンス版もあります。(5,250円税込み)
今読んでみると、Excelアドインで、プロフェッショナル版に関係しそうなものは、
・COMサーバ/ActiveXコントロールの登録をサポート
があります。
EXEpress CX5
http://www.webtech.co.jp/onlinesoft/exepress/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) excelの列幅高さが勝手に変わる(特定のPCだけ) 8 2022/07/14 16:51
- その他(コンピューター・テクノロジー) デジタル化推進でうちの会社では、ペーパーレス化が進んでいます。 そこで、質問です。 会社では、検査課 3 2023/06/11 00:17
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- その他(行政) マイナンバーと住民のプライバシー保護 1 2022/10/31 21:54
- Excel(エクセル) excelのマクロ実行でブロックされます。 2 2022/06/08 09:14
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- Excel(エクセル) Excelで文字列にランダムに記号を入れる事は出来ますか⁇Excelで作っている名簿リストをプリント 8 2022/09/14 08:11
- 情報処理技術者・Microsoft認定資格 MOS試験Excelエキスパートを受けようか考えています。 Excelは仕事で使用。 関数は入れ子含 2 2022/12/18 10:05
- Excel(エクセル) Excel 、この式はどのように解釈すればいいのでしょうか 4 2023/02/03 08:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのマクロは管理者でないと...
-
Word文書に必須入力項目を設けたい
-
MS-Projectの使い方(マクロを...
-
(実行時エラー5852)Excelデータ...
-
Excel2007の作業です
-
今まで実行できていたマクロが...
-
ワードを開くたびに「このプロ...
-
マクロのアイコンを消したい
-
ワードを起動した時にでる「セ...
-
KingsoftのOffice2013でExcelの...
-
ワードを立ち上げると画面が小...
-
wordの差し込み印刷で困ってい...
-
無料のオフィス互換ソフトの使...
-
ワード・エクセルのないパソコ...
-
ロータス1,2,3がエクセルに駆逐...
-
WPS Office 2 Personal Edition...
-
WordやExcelで筆記体...
-
Kingsoftについて教えて下さい。
-
office365のteams会議について
-
ワードの入っていないPCで、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
(実行時エラー5852)Excelデータ...
-
Word文書に必須入力項目を設けたい
-
Access2010マクロ メッセージ...
-
Excelのマクロは管理者でないと...
-
Excelのシートを印刷不可(禁止...
-
KingsoftのOffice2013でExcelの...
-
Excel2003 GET.CELL関数を使う...
-
VBAを禁止している会社って...
-
PERSONAL..XLSを削...
-
マクロのアイコンを消したい
-
ワードを起動した時にでる「セ...
-
今まで実行できていたマクロが...
-
ワードを開くたびに「このプロ...
-
Excelで追加した右クリックメニ...
-
ワードのマクロで、蛍光ペンの...
-
wordで改ページごとにそれぞれ...
-
Word2013: コピー、切り取り、...
-
秀丸について教えてください
-
「セキュリティレベルが高」の...
-
EXCELのマクロについて
おすすめ情報