オフィス街(青)

Microsoft Excelの話題

EXCEL−セルの保護とマクロ機能(3)

 

マクロ機能の限界.....マクロを無効にできてしまう操作

 ・シートの保護を設定し、単価と金額は入力できないようにしました。
 ・マクロ機能を使い「切り取り(T)」ができないようにシートの設定も行いました。

でも、これだけやっても完璧ではありません。

どうしてでしょう?

それは、エクセルのソフトがインストールされている個々のパソコンにおいて、パソコン単位で、「このパソコンでは、マクロの機能は無効にする」、「このパソコンでは、マクロの機能は有効にする」といった設定ができてしまうためです。つまり、マクロの機能を無効に設定してしまうと、せっかく組み込んだ「切り取り(T)」防止の機能は働かなくなってしまうのです。

それでは、具体的にどのような設定なのか、見てみましょう。

これも、エクセルのバージョンによって、設定の手順が異なります。ここでは、Excel2002を例にご説明します。


マクロ機能の実行を制御する設定.....セキュリティ


「ツール(T)」⇒「マクロ(M)」⇒「セキュリティ(S)」を選択します。

表示された「セキュリティ」のボックスで、「セキュリティレベル」のタブを選択すると、セキュリティレベルを3段階で選ぶようになっていることがわかります。
「高(H)」、「中(M)」、「低(L)」の3段階です。

先ほど組み込んだ、切り取り防止のマクロ機能は、ここの設定が「高(H)」になっているパソコンでは機能しません。



このブックにあるマクロは、セキュリティレベルが高に設定されており、デジタル署名されていないかまたは安全なものとして確認されていないため利用できません。マクロを実行するには、署名するか、またはセキュリティレベルを変更する必要があります。詳細については、ヘルプを参照してください。


セキュリティレベルが「高(H)」の設定をしているパソコンで、このシートを開くと、上記のようなメッセージが表示されます。「切り取り(T)」の操作はできてしまうので、誤ってその操作をしてしまうと、組み込んだ計算式が壊れてしまいます。


セキュリティレベルが「中(M)」の設定をしているパソコンで、このシートを開くと、左のようなメッセージが表示されます。ここで、このシートの場合には、「切り取り(T)」防止機能が組み込まれているので、中央の「マクロを有効にする(E)」を選択すれば、「切り取り(T)」防止機能は働きます。ですが、「マクロを無効にする(D)」を選択してしまうと、「高(H)」と同様に防止機能は働かなくなってしまいます。

「低(L)」の場合は、どちらのメッセージも表示されず、マクロ機能は自動的に働きます。

マクロにはウイルスが含まれている可能性があります。マクロを無効にすると安全ですが、マクロが適正な場合、機能が使えなくなります。

ちなみに、今回組み込んだ「切り取り(T)」防止機能のマクロは、「適正なマクロ」であって、決してウイルスなどではありません(汗。

セキュリティレベルが「低(L)」の場合には、マクロは自動的に有効になるわけですが、コンピュータウイルス感染防止の観点から、「中(M)」若しくは「高(H)」に設定をしているケースが多いのではないかと思います。そうなると、せっかく便利で適正なマクロであっても生かされない場合があるわけです。


では、どうしたらよいのでしょうか?...答えは、マニュアルとチェックシート


検索サイトで「エクセル マクロ」といったキーワードで検索してみると、今回ご紹介した切り取り防止のマクロ以外にも、いろいろ便利なマクロが紹介されていることがわかります。このHPはマクロを専門に扱ったWebサイトでは無いので、このページは、「エクセル マクロ」のキーワードでは検索できなかったと思います。そんな中でこのページを見つけてくださったことは、とてもうれしい限りです(汗。

特定のセルを保護したり、特定の機能を制限するのは便利な機能です。でも、万能ではないのですね。では、どうすればよいのでしょう。自分だけが使うシートならまだ問題ないのかもしれません。ですが、複数の人で共有するシートの場合に問題となります。

計算式が壊れてしまうのを防ぐための方策として考えられる手段ですが、そのシートを扱うときの「注意事項をマニュアル化」することをお勧めします。例えば、このシートを使うときだけ、セキュリティレベルを下げてマクロを有効にする、シートの編集が終わったら、元のセキュリティレベルに戻す、といったルールのを明文化することです。さらに、「チェックシート」を作るのがよいと思います。

例えば、通常はセキュリティレベルを「高(H)」に設定しておくことを義務化しているような場合なら、このシート専用のチェックシートを設け、その中に「■(事前確認)マクロ機能を有効にし、切り取り防止機能を有効にしましたか」、「■(事後確認)エクセルのセキュリティレベルを高(H)に戻しましたか」といった項目を設け、チェックシート上のチェック項目をチェックするようなルールにすることです。

通常のセキュリティレベルを「中(M)」に設定しておくことが義務化されている場合は、もう少し簡単なルールにできるかもしれません。例えば、シートを開いたタイミングでマクロを含むメッセージが表示された場合、中央の「マクロを有効にする」ボタンを安易に押さないこと、押してもよいシートは、商品売上表と、○○と.....、それ以外はシステム管理者に相談...のようにルール化できるでしょう。

残念ながら、完璧に近づけることは可能でも、100%完璧にするというのは困難なことです。
可能な部分は機能でカバーして、それでも不十分である場合はルールを儲け運用でカバーするしかありません。あとは、万が一シートが壊れてしまった場合に復旧できるようにするために、前日のバックアップ状態には戻せるように工夫をするとか、そういった運用面でカバーすることが大切です。

とても重要なことなので、繰り返しになりますが、まとめです。
今回ご紹介した機能は、特定のセルを保護して計算式が壊れてしまうのを防ぐというものでした。便利な機能ですが、機能面だけでよしとせず、マニュアルやチェックシートによる運用、そして、万が一壊れてしまった場合の復旧方法(バックアップからの復旧)など、運用面での考慮も忘れずに行うようにしてください。


<<前に戻る
 (2008年4月8日)


動け!Windows 」  コンテンツ一覧 >ソフトウエア関連> Excel−セルの保護とマクロ機能


トップページ
コンテンツ一覧

6ヶ月カレンダー
今年のカレンダー
来年のカレンダー
万年カレンダー
西暦の豆知識
リンク