Lesson 9-3


   

マクロ(キーマクロ)

マクロとは(繰り返し行う)複雑な処理や煩雑な処理の操作を記録/記述し、自動的に実行する機能のことを言う。

エクセルでは、実際に処理を行って登録する「キーマクロ」と、 VBA(Visual Basic for Application)を用いて記述するマクロがあるが、情報処理A では「キーマクロ」のみを対象とする。

注意

マクロでは、様々な処理を(意図しなくても)実行することができるため、エクセルはマクロを含んだファイルを開く際に 次のような警告を表示する。

macro warning
macro warning

これは、悪意を持った作製者が作成したマクロによるコンピュータの被害を防ぐ(マクロウィルスに感染する)のを防ぐためである。 したがって、自分で作成したファイルや、内容が判っているものの場合にのみ、この後で述べる手順にしたがってマクロを有効とすること。 特に、作製者のはっきりしないファイルや、メール等で送られてきたファイルを開く際には、安全であることを確認するまでは決して有効としないこと。

なお、ここで、述べられている「署名」とは、公開鍵基盤における電子署名のことであり、電子的な文書の作成者を担保するための仕組みである。


マクロを作成する

  1. 記録する操作内容の確認
    キーマクロを登録する際にはすべての作業内容が記録される。 間違った操作をした場合、その内容も登録されるため、やり直すか記録の修正作業が必要となる。 複雑な操作の場合には修正も複雑になるので、マクロを記録する前に処理の手順を再確認しておく方が良い。
     

  2. マクロ記録の準備
    キーマクロを登録するには、「ツール」→「マクロ」→「新しいマクロの記録」を選択すると 「マクロの記録」ウィンドウが開く。 あとから参照する際に分かりやすくするためには、「マクロ名」に適切な名前を設定したほうが良い。

    macro record dialog

     
  3. マクロ記録
    「OK」をクリックした後、実際に記録する内容を操作する。 操作している間は、macro recorderが表示されており、 操作が終了したら「■」を押して、マクロの記録を終了する。

  4. マクロの実行
    「ツール」→「マクロ」→「マクロ」を選択すると登録されているマクロ一覧が表示されるので、 実行するマクロを選択して「実行」をクリックするとマクロが実行される。
    なお、マクロで行った操作は元に戻せないため、実行内容が間違っていた場合、元に戻すことはできない。 マクロの実行結果が、意図しない内容となった場合は、保存しないでファイルを閉じ、再び開くしかない。

マクロの利用(フォームボタン)

「フォームボタン」を利用すると、作成したマクロを簡単に実行することが可能となる。 フォームボタンを作成するには「表示」→「ツールバー」から「フォームツールバー」を 表示するように設定する。

フォームボタンをクリックして選択し、ボタンを設置したい場所をクリックすると ボタンが作成され、そのボタンが押された際に実行するマクロを選択する画面が表示されるので、実行したいマクロを選択して「OK」を押す。

マクロの有効化/無効化

マクロが使用できないときにはじめに表示されるウィンドウの内容は以下の通りである。 署名がされていないマクロを利用するためには、そのときのみ、セキュリティレベルを「中」にする必要がある。 以下の引用で赤色で示した指示に従うことで、マクロが使用できるようになる。 繰り返しになるが、出所が明らかでないマクロについては、署名の有無に関わらず有効とするべきではない。 署名があっても、署名時から変更がないことが確認できるだけである事に注意を払うこと。

次の理由により、このエラーが発生する可能性があります:
  1. マクロのセキュリティが以下のように設定されている場合:
    • [最高] に設定されており、署名付きマクロであるが自動的に無効になる場合、次の手順でマクロを有効にできます:
      1. [ツール] メニューの [マクロ] - [セキュリティ] をクリックします。[セキュリティ] ダイアログの [セキュリティ レベル] タブでセキュリティ レベルを[高] に設定します。
      2. ファイルと現在実行中の他のアプリケーションのインスタンスを閉じます (実行しているすべてのアプリケーションも閉じます)。
      3. 再度ファイルを開き、証明書の詳細を確認します。発行者からの証明書を信頼する場合は、[この発行者のマクロを常に信頼する] チェック ボックスをオンにします。
      4. [マクロを有効にする] ボタンをクリックし、マクロを実行できるようにします。
    • [高] に設定されており、署名付きマクロであるが、ファイルを開いたときにマクロを警告するダイアログで [マクロを無効にする] を選択した場合、次の手順でマクロを有効にできます:
      1. ファイルと現在実行中の他のアプリケーションのインスタンスを閉じます (実行しているすべてのアプリケーションも閉じます)。
      2. 再度ファイルを開き、証明書の詳細を確認し、発行者からの証明書を信頼する場合は [この発行者のマクロを常に信頼する] チェック ボックスをオンにします。
      3. [マクロを有効にする] ボタンをクリックし、マクロを実行できるようにします。
    • [高] または [最高] に設定されており、マクロが未署名でアプリケーションによって自動的に無効になるとき、マクロが未署名であってもマクロの発行元を確認して信頼できると思われる場合は、次の手順でマクロを有効にできます:
      1. [ツール] メニューの [マクロ] をポイントし、[セキュリティ] をクリックします。[セキュリティ] ダイアログの [セキュリティ レベル] で [中] をクリックします。
      2. 現在コンピュータ上で実行中のファイルとその他のアプリケーションのインスタンスを閉じます。
      3. 再度ファイルを開き、未署名のマクロを実行するかどうかを確認するメッセージが表示されたら、[マクロを有効にする] をクリックします。
    • マクロを承認したら、マクロのセキュリティ レベルを元の設定に戻します。
  2. アプリケーションの別のインスタンスでセキュリティ設定がロックされていて、設定を変更できない場合
    • Office 関連のすべてのアプリケーション、またはセキュリティ設定を変更しようとしているアプリケーションの別のインスタンスを閉じることをお勧めします。
  3. Visual Basic for Applications (VBA) がコンピュータにインストールされていない場合
    • VBA がインストールされていないと、VBA マクロに添付された証明書を承認することができません。必要なマクロ インタープリタがシステムにインストールされていないと、実行しようとしているマクロが信頼できる証明書が添付された VBA マクロであっても実行できません。この問題には 2 つの状況が考えられます:
      • 管理者が VBA をインストールしないオプションを選択した
      • 実行しているバージョンの Office では VBA が既定でインストールされない
    • 実行している Office で VBA がインストール可能な機能としてリストされていない場合、VBA マクロを実行するには Office のバージョンをアップグレードする必要があります。
  4. 証明書が無効な場合 (この場合は、[マクロを有効にする] ボタンを選択できません)
    • 証明書がもう信頼されていない、破損している、または証明機関によって証明書が失効されています。お使いのシステムで証明書が有効でなくなった原因には他の理由も考えられます。証明書が無効なマクロを信頼、または実行しないことをお勧めします。

この問題に関するトラブルシューティングをオンラインのヘルプ トピックで参照できます。

このエラー メッセージに関するオンライン詳細情報


練習

  1. 右の表を作成するようなキーマクロを作成する。マクロ名は「表作成」とする。
  2. 別のシートを選択し、マクロを実行し、同じ内容が作成されたことを確認する
  3. さらに別のシートを選択し、フォームボタンを設定する。ボタン名を「表作成」とする。
  4. ボタンをおして、はじめと同じ内容が作成されたことを確認する。
  5. 作成したブックを保存した上で、エクセルをいったん終了し、再度同じブックを開き、マクロに関する警告が表示されることを確認する。
  6. マクロを有効にする手続きを試し、3で作成した表を「クリア」し、ボタンを押すことで再生成されることを確認する。
  7. セキュリティ設定を戻した上で、エクセルを終了し、もう一度同じファイルを開くと警告が再び表示されることを確認する。
東北
 10月  840
11月 870
12月 520
1月    1,510
2月 550
3月 1,010

   
$Id: L8-3.html,v 1.1 2009/01/26 17:23:37 tacha Exp $
ogaito at fpu.ac.jp