タイトル【MacWIRE配信予定】Microsoft Office v.X for MacのVisual Basicの機能は前バージョンと変わらず(2)カテゴリー文書作成アプリケーション
作成日2001/12/7 17:2:22作成者新居雅行
――――署名マクロの機能もX版Officeには組み込まれていない
Windows版のOfficeだと、既定の設定では、マクロ自体が簡単には動かせないようになっていると言っても過言ではない。もちろん、マクロウィルスの影響で、自由に動かせないようにすることでのセキュリティ対策ではある。Excelでのセキュリティ設定は高中低の3段階に設定できるようにしてある。デフォルトでは「高」となっていて、署名されたマクロに対して、実行時に許可をしないとマクロを実行できない状態でブックを開くことになる。ちゃんと署名してあるウィルスってやっぱり存在しないだろうし、きちんとした署名のウィルスってのも考えにくいから、歯止めになるというわけだ。
だが、個人的に使うものに署名をするのも面倒だという場合には、セキュリティを「中」にして使うことが多いだろう。これだと、マクロを含むブックを開くときに、警告が出るが、そこでOKとすれば、開いてマクロも実行できる。自分で作った意外のファイルを開くときに注意をしていれば、多くの場合は問題ないパターンである。
一方、X版のOfficeの場合は、こうしたマクロのセキュリティという設定は存在しない。また、署名という機能もVisual Basic Editorには含まれないので、電子署名による認証についても組み込まれていないようだ。では、どういう動作になるかというと、Windows版での「中」レベルに近いものとと言って良い。マクロを含むブックを開くときに次のようなダイアログボックスが開かれる。

◇マクロを含むブックを開くときに出てくるダイアログボックス
 

ここで、開くこともできるが、開かないという選択肢もある。なお、今後このダイアログボックスを開かないということにすると、Windows版での「低」レベルのセキュリティと同じになってしまい、マクロがあってもブックを開けてしまうことになる。
いずれにしても、Windowsではウィルスにさらされることが多いが、Macintoshではそれほどでもないでしょう…ということだろう。Windowsの場合は、たとえば、WebブラウザでExcelのワークシートを開くようなことができるので、比較的手軽に「実行させてしまう」ことは可能である。Mac OSでは基本的にはダウンロードとなるので、その意味では環境的な違いもあって、マクロのセキュリティ面では違いがあるのだろう。

――――ユーザーフォームの文字化けのバグも直らず
Visual Basicのダイアログボックス(「ユーザフォーム」というのがVisual Basicでの呼び名)設計についてもバグと思われる機能が存在する。これは、MDOnline読者の佐藤健さんが指摘してくれたことであるが、X版のOfficeで直っていることが期待されていたものの、まだ修正されていないということである。この問題は、Office 98からあり、バグ報告をしているそうであるが、残念ながら製品には反映されていない。
その症状は、以下のようなものだ。X版のExcelでユーザフォームにラベルを配置する。そのラベルの見える文字(つまりCaptionプロパティ)に日本語を設定したとする。そのファイルを、Windows版のExcel XPで開くと、ラベルの文字列が文字化けしているのである。Captionプロパティを見れば分かるように、フォントの問題といったことではなさそうで、文字コードの扱いについての根本的な問題があるかのように思われる。

◇X版のExcelで、ユーザーフォームにラベルを設定した
 

◇Windows版のExcelで開くと文字化けしている
 

細かいバグと言えばそれまでだが、これは、実質的には「X版Officeで作成したユーザーフォームはWindowsでは使えない」ということを意味する。プラットフォームをまたいで使うプログラムでのユーザーフォーム作成は、Windows版のOfficeを使うしかなさそうである。

――――開発者は違いを認識して作業にかかろう
以上、やはり…というか、Macintosh版でのVisual Basicの機能は期待を裏切るものかもしれない。Auqaしているとは言え、実質的にはOffice 2001と変わりがないのである。一方のWindows版ではOffice 97から実現しているようなローカルウインドウなどの機能はいまだにMacintosh版には反映されていない。
もっとも、マイクロソフト側としても言い分はあるだろう。Macintosh版は個人ユーザ向けであり、マクロを使う率がWindows版に比べて低いということはあり得る。それならば、限られた開発リソースを注ぐ機能ではないということも十分に理由としては成り立つだろう。また、それだからこそ、REALbasicを使えるようにしたのであるということも言えるのかもしれない。
MacintoshのOfficeでのプログラミングを行う人は、ある意味ではWindowsでもプログラミングをしている人も多いだろう。いずれにしても、Macintosh版の制約をよくチェックしておいて、実際の開発に当たる必要があるということは言えるだろう。
関連リンクMicrosoft Office v.X for Mac