タイトル【MacWIRE配信予定】Microsoft Office v.X for MacのVisual Basicの機能は前バージョンと変わらず(1)カテゴリー文書作成アプリケーション
作成日2001/12/7 17:1:44作成者新居雅行
Mac OS Xネイティブ対応し、2002年1月25日に発売される「Microsoft Office v.X for Mac」(以下、Officeないしは「X版Office」と参照)であるが、業務などでの利用者には、まずはマクロ、特にExcelのマクロをチェックしたいと思うところかもしれない。従来のOffice 2001でも、マクロ作成機能については、Windows版との機能差が目立つところでもあったが、X版Officeでも残念ながら、そのあたりは同様である。X版のOfficeは、Visual BasicとREALbasicのいずれも使えるという大きな特徴があり、特にREALbasic利用は注目に値するが、とりあえずは過去の資産もある方も多いこともあるだろうし、Visual Basicの部分をチェックしてみたい。

――――マクロから言語による開発へ
Officeでのプログラミングの機能を振り返ってみよう。プログラミングの機能はVisual Basicというより、「マクロ」という機能の方が通りがいいかもしれない。今でも、メニュー名は「マクロ」だ。基本的には、ユーザが行う操作を記録し、それを再現するという意味でのマクロであったが、繰り返しや条件判断をともなう機能などが初期の頃からマクロプログラムで利用できた。初期のExcelは、セルに式を書き並べるタイプのプログラミングが可能であった。「マクロシート」なとど言えば、一部のユーザは懐かしさが込み上げてくるかもしれない。Excel Ver.5からVisual Basic言語によるプログラミングが可能になり、テキストエディタで、いわゆるプログラミング言語によるプログラムができるようになった。WindowsのOfficeシリーズでは、それ以来、Visual Basicが各アプリケーションでのプログラミングを行う場合の基本言語となっている。また、開発環境としても順次バージョンをアップしてきており、たとえばデータベースのAccessは単なるデータベースソフトではなく、本格的な開発環境と言っても過言ではないという状況になった。
いずれにしても、Officeシリーズは、汎用的なアプリケーションの中ではプログラミング環境として利用される度合いが高いものとなっている。特にExcelは顕著だろう。事務作業での効率化を計るため、定型的な作業や手順化された作業をプログラムでこなすという図式が成り立っているのである。業務を実際に行う人が、自分のためにプログラミングを行うということもあるかもしれないが、あるいは別途開発を社内あるいは社外で行うこともありえる。いずれにしても、オフィスのパソコンにほぼ必ず入っていると言っていいExcelを動作環境にすることでのさまざまなメリットがあるわけだ。特に、Windowsではデータベースや基幹システムへのアクセスまでもExcelからできてしまうだけに、定型処理はもちろん、経営判断や計画などでは非定型な処理も行いたい。そうした用途に、Excelはマッチするし、プログラムを作り込むことも可能となる。

――――X版のOfficeのデバッグ機能は進化せず
マクロプログラムは、Windowsでは、Excelと別に動いているように見えるVisual Basic Editorという1つのアプリケーションウインドウで動く統合開発環境で作成する。プログラムのソース作成やデバッグはもちろん、カスタムダイアログボックスなどもVisual Basic Editorで設計が行える。なお、X版Officeは、みかけの上ではExcelの中で、Visual Basic Editorが動くような形態となっている。
Windows版ではさまざまなウインドウがアプリケーションウインドウにドッキングするのであるが、X版Officeでは個別のウインドウとなる。このあたりは見かけの違いである。両方の環境でプログラミングしている人は、ウインドウの操作で戸惑うところかもしれない。

◇X版OfficeのExcel Xから呼び出したVisual Basic Editor
 

◇Office XPにあるExcel XPのVisual Basic Editor
 

もちろん、両者には共通点が多いことは事実で、プログラムの互換性も比較的高い。アプリケーションの中のデータを操作する上ではほとんど変更することなく、両方のプラットフォームで稼働できると言えるのだが、ここでは、X版Officeで利用できない機能を見ておくことにしよう。
まず、いちばん大きな違いとして言えるのは、デバッグ作業の違いだ。図を見てもらえば分かるのだが、Office XP(Windows版の最新のOffice)は、「ローカル」「ウォッチ」というウインドウがあり、デバッグでブレークしたときには、少なくとも何もしなくて、ローカルウインドウで変数が確認できる。ウォッチは、変数から計算した式を設定してその値を確認したり、あるいは条件が成り立つとブレークするといったことが可能だ。もちろん、X版Officeでもブレークなどのデバッグ作業はできるのだが、止まったところで変数の値を確認するには、イミディエイトウインドウを出して、そこで「print 変数名」などのステートメントをキータイプする必要がある。また、デバッグしているときには、マウスポインタで変数の文字がかかれた部分をポイントすると、変数名がチップヒントで表示されるという機能がOffice XPでは利用できる。しかしながら、X版のOfficeではそうした機能は利用できない。
プログラミング作業の上では、Office XPだと、たとえば「Application.」とキータイプすると、Applicationクラスで定義されたプロパティやメソッドなどがポップアップして表示され、選択して入力するなどの入力援助の機能が利用できる。これもX版のOfficeには組み込まれていない。
関連リンクMicrosoft Office v.X for Mac