Personal.xls ってよく聞くけど何?


Excel VBAあらかると

Excelの決められた場所に記録することにより、Excelの起動と同時に非表示でPersonal.xlsが自動呼び出しされるようになります。 
 
※上図は、Excelを起動しマクロの実行を指定したときの状態です。Personal.xlsが読み込みされているのがわかりますね。
Excelで新規ブックを作って作業するときもその機能を自動的に有効にしたいといったニーズが生じたとき、Personal.xls のSubステートメントのプロシージャ auto_open にそのマクロコードを記述することで、Excelの起動と併せて自動実行され、どの作業でも共通的にその機能を利用することが可能になります。
WebMambowの使い方としては、共通的なマクロのモジュールをPersonal.xlsに記述しモジュールの共通仕様として利用しています。
2〜3年前、この仕組みを悪用した「ラルー」と名付けられたマクロウィルスに感染したことがあります。
あまり悪さをしないウィルスですが次第にExcelの動作に悪影響を及ぼしツールバーが無くなったり悲惨な目にあったことを記憶します。ワクチンソフトを使わずに駆除したのでいまだに思い出深く、現在そのウィルスをFDで飼育しています。(ソースコードはすばらしく高等技です。)
 「VBAあらかると」で紹介している通り、マクロとは単純なプログラムで文書を作成する作業や表計算での計算などで繰り返し行われる操作を自動処理するために使われ、 Microsoft Word や Microsoft Excel などで作成されたファイルに書かれます。
マクロウィルスは悪意を持ったマクロで、自分自身をファイルからファイルに複製し、しばしばデータを破壊したり改竄したりするように作られています。
また、マクロウィルスはプラットフォームを越えて伝染し、感染したファイルを開くことで広がります。
マクロウィルスの蔓延に対してかどうかはわかりませんが個人用マクロブックの仕組みは、Excel97まではHELPに記述されていましたが2000以降は見あたらなくなってしまいました。
この機能をマスターしたからといってウィルスのような悪意を持ったプログラムを作成しないようにしましょう。


 Personal.xlsの作り方
マクロレコーダーを使い自動記録操作を行います。その時に下図のようにマクロの保存先を「個人用マクロブック」と指定します。



 保存先  (マクロレコーダでの記録は自動保存されます。) 
 


※フォルダー「XLStart」に記録されます。ウィンドウズの検索機能を使って確認してみましょう。


 Personal.xlsを記録してExcelを起動させた状態 
 
左が記録前で再表示がオフの状態です。右が記録後で再表示がオンの状態になります。
再表示を選択すると
再表示のウィンドウにPersonal.xlsが出現します。このことから非表示で記録されていることがわかりますね。


 WebMambowのように共通のマクロモジュールブックを作成する。 
   Personal.xlsは、Excelから見た場合にフォルダー「XLStart」の場所に保存すれば起動とともに自動呼び出しを行います。つまり、通常の通り新規ブックを作成し、収集した共通(必要な)のマクロコードを記述したブックを「Personal.xls」の名前で保存先フォルダー「XLStart」に保存すれば同じ状態で利用することができます。マクロコードを記述するときは大変便利ですのでお薦めです。


  Personal.xlsは使う人の発想でいろいろ用途があると思います。
利用者に喜ばれる機能を発案し提供することも面白いと思います。
くれぐれもマクロウィルスなるものは作成しないように..............

面白い使い方があればWebMambowにもご教授をお願いします。

「Personal.xlsについて」でした。