ホーム > ブログ > Bear's Droppings > Excel 2007 マクロ関連の覚書 このエントリーを含む はてなブックマーク 0 users

Excel 2007 マクロ関連の覚書

Posted by bear.mini at 2007/06/22 09:30:42
タグ: (なし)

昔作った Excel のファイルを今日久しぶりに開いたのですが、ちょっとハマってしまったのでメモを残しておきます。

 

1. オレオレ証明書を有効にする方法

今回開こうとしたブックは Excel 2003 で作った .xls ファイルでした。

そのブックはマクロを多用していたのですが、セキュリティ上の理由から証明書をつけねばなりませんでした。(自分で使うだけのマクロなのに!)

 

そこでいわゆる「オレオレ証明書」をつけていたのです。

 

オレオレ証明書とは、信頼されている第三者機関に発行してもらったものではなく、あくまでも開発用などの目的で自分で使用するための証明書で、たとえば Office についてくる SELFCERT.EXE ("C:\Program Files\Microsoft Office\Office12\SELFCERT.EXE") というプログラムを使って作成できます。

 

話が少しそれましたが、Excel 2003 ではオレオレ証明書でもインストールすればすんなりマクロが有効になったような記憶がありますが、Excel 2007 ではセキュリティ的にとても厳しくなったようで、オレオレ証明書は原則として無効とみなされるようです。オレオレ証明書をつけたマクロを有効にしようとしても、デフォルトでは簡単には有効にできないわけです。

 

しかしながら、自分のためだけに使うマクロを開発しているわけなので、ベリサイン社などにお金を払って正式な証明書を発行してもらうのは大げさな話です。

 

そこでこのオレオレ証明書をなんとかして有効にしなければなりません。

 

その手順は以下のとおりです。

 

!!注意!!

以下の手順はセキュリティ的に問題があるかもしれませんので、もし問題に気付かれた方はご連絡ください。

以下の手順にセキュリティ的な欠陥があったとしても私は責任を取ることができませんので、自己責任でお願いします。

また、以下の手順は私が試行錯誤的に見つけ出した方法ですので、実はもっと簡単な方法があるかもしれません。

 

手順

1. マクロ付きのブックを開く

 

2. リボンと数式バーの間に 「セキュリティの警告  マクロが無効にされました。  [オプション...] 」と表示されるので、「オプション」ボタンを押す。

手順2の図1

上のような警告が表示されない場合は、いったん Excel を再起動するとよいかもしれません。

 

それでも表示されなければ、Office メニューの Excel のオプションから「セキュリティセンターの設定」ボタンを押すか、リボンの「開発」タブの「マクロのセキュリティ」を押して、「セキュリティーセンター」ダイアログを表示させます。そこでマクロの設定を「警告を表示してマクロを無効にする」もしくは「デジタル署名されたマクロを除き、すべてのマクロを無効にする」に変更します。

 

3. 手順 2 でセキュリティの警告のオプションボタンを押すと以下のようなダイアログが表示されるので、「署名の詳細を表示」というリンクをクリック。このダイアログで、下の方に現れる選択肢が「不明なコンテンツから保護する」という選択肢 1 つしか現れていない場合、手順 2 と同様、セキュリティの設定を変更してください。

手順3の図

 

4. 以下のようなダイアログが現れるので、「証明書の表示」をクリック。

手順4の図

 

5. 以下のようなダイアログが現れます。「この証明書を信頼されたルート証明書機関のストアにインストールしてください」と書いていますので、その通りにしたいと思います。(セキュリティ的マズかったら指摘してください><)

ここではとりあえず「証明書のインストール」をクリック。

手順5の図

 

6. 「証明書のインポート ウィザード」が現れる。この画面では単に「次へ」をクリック。

手順6の図

 

7. 次のページでは、「証明書をすべて次のストアに配置する(P)」を選択して、「参照(R)」ボタンを押します。

手順7の図

 

8. 次に出てくるダイアログで、「信頼されたルート証明機関」を選択し、OK を押す。

手順8の図

 

9. ウィザードに戻ってきたら、証明書ストアが「信頼されたルート証明機関」になっていることを確認して「次へ」をクリック。

手順9の図

 

10. 「完了」をクリック。

手順10の図

 

11. 「セキュリティ警告」ダイアログが出てきますので、この記事を信頼するならば「はい」をクリックしてください。

手順11の図

 

12. 「正しくインポートされました」と表示されるはずなので、OK を押す。

手順12の図

 

13. 「Microsoft Office セキュリティ オプション」ダイアログまで OK を押して戻ってきて、「このコンテンツを有効にする」を選び、OK を押す。

手順13の図

 

これでマクロが使えるようになるはずです。

毎回ファイルを開くたびにセキュリティの警告が表示されてオプションからマクロを有効にするのが面倒な場合は、「この発行者のドキュメントをすべて信頼する」を選択してしまっても良いかもしれません。

(その場合はくれぐれも自分の証明書を他人に盗まれないように!) 

 

以上は古い Excel 2003 の形式のファイルを開こうとしたらそれにマクロがついていたときの話ですが、Excel 2007 から導入されたマクロ有効ワークブック(.xlsm 形式)でもたぶん同様の手順で大丈夫だと思います。

 

 

2. リボンに「開発」タブを出す方法

さて、無事にマクロ付きのブックを開いて使うことができたわけですが、そのマクロを手直しするために編集しようとして困ってしまいました。

 

Visual Basic のエディタを開くことができません。

 

リボンを端から端まで何度も探しましたが、マクロを編集するためのボタンが見つかりません。

 

これは答えが簡単で、左上の丸いボタン(Office ボタン)を押してメニューを出し、そのメニューの右下に並んでいる二つのボタンのうち左側の「Excel のオプション(I)」をクリックして、以下のようなダイアログを出します。

Excel のオプションダイアログの図

図の中で赤い線で囲った部分のチェックを ON にして OK ボタンを押します。

 

すると、リボンの中に以下のような「開発」タブが表示されます。

開発タブの図

 

このリボンの中の一番左にある「Visual Basic」ボタンを押せば無事 VBA マクロの編集ができるようになります。

 

 

3. 作成した関数(Function プロシージャ)をシート内で標準関数のように使う方法

「標準モジュール」に非 private な Function としてマクロを定義すれば、シート内で数式として使用できるようです。

ナビゲーション:
ブログホーム | この記事の固定リンク | フィード atom 1.0
ひとつ前の記事:Windows 版 Safari 3 Beta
ひとつ次の記事:BSoD ならぬ、GSoD

このページに寄せられたコメント

きくち
2009/07/21
12:00:40 --05:00
どうも初めまして。
きくちと申します。

このページを拝見させて頂きまして「デジタル署名」の設定が出来ました!
誠にありがとうございました。<(_ _)>
大変助かりました。<(_ _)>

※XP(SP3)、Excel2007の”.xlsm”の拡張子で行ったものです。


只、若干疑問が残る事がありまして、他の方の一助になる場合もある
「かも」しれませんでしたので、コメントさせて頂きます。

■上記設定を先週金曜日(7月17日)に行いました。
 ・設定直後、うまくいきませんでした。
 ・納得いかないまま、この日は終了。

■今日(7月21日)、再度挑戦しました。
 ・そうしたら、特に設定をいじった訳ではないのに
  マクロが動きました。
 ・何故だろう?

なので
「ひょっとして再起動が必要な場合があるのかな?」
という推測です。

結論的には「結果オーライ」なのですが。(^_^;

以上、蛇足ながらの内容で失礼致しました。

コメントしてください:
お名前: (半角/全角問わず 16 文字まで)
コメント:
(no HTML)
確認:
このテキストボックスに "確認" の 2 文字を書くと投稿できるようになります。
投稿ボタンが自動的に有効にならない場合は、ここをクリックしてください
これは、自動的にスパムコメントを書き込もうとする悪意をもったプログラムと、 そうでないあなたを識別するためのものです。お手数をおかけしますがよろしくお願いします。 また、ブラウザによっては対応していない場合があるかも知れません。IE 7 と Firefox で動作確認を行いました。

このページに寄せられたトラックバック

このページはまだトラックバックを受信していません。

このページへのトラックバック Ping URL:
http://bearmini.net/trackback.aspx?~/blog/view.aspx?bid=1&aid=77

このサイトの上位人気記事