なぜMSはOffice Mac 2008でVBAのサポートをやめたのか?

日本のMacBU(Macintosh Business Unit〜MS社内でMac向け製品に携わっているスタッフ。Mac業界最大の開発ユニットであり、Apple社員よりもMacを愛していることで有名)のスタッフに聞いてみても「USの決定なので」という返答しか得られないところなので、MacTech Magazineに書いてあった「理由」とやらを検証してみることとしよう。

理由その1:Office 2008をUniversal Binaryアプリケーションとして「開発し直」さなければならず、VBAのコンパイラ部分まで手がけていてはリリースに深刻な影響を及ぼすことが明らかになったため。

まあ、プロジェクト管理の観点からすれば、製品のリリースに大きな影響を及ぼす機能モジュールについては「後から追加リリース」という手もあったはずで(アップデータで対応とか)、これが決定的な「理由」ではないように見える。

理由その2:Windows OfficeのVBAもあと数年でなくなる予定。Mac版Officeの動きはこれを先取りしたものである。いずれ消えてなくなる予定の言語処理系に多大なるリソースを投入すべきではない、という判断。

こちらであれば真の理由としての説得力がある。

そういうことならしょーがないね、という話にもなるが、じゃあなぜその理由とやらを同時に発表しなかったのさ? という疑問はついてまわる。また、その「次」のWindows Office(VBAなし)が登場したときに、どうせ顧客からの要望によって従来バージョンのOfficeも併売することになるんじゃないのか? という気もする。

MSのMacBUチームの開発者のBlogで「VBAに別れを告げる」といったエントリがあり、これも原稿内で紹介されている。URLを書いておこう。



MacTech Magazineの原稿の中では「VBAはMS-Officeの中でしか使えないが、AppleScriptならMac OS X上の主要なアプリケーションもまじえてスクリプティングができるため、そちらの方が有用だろう」とも述べている。これが筆者のPaul Berkowitzの個人的な意見なのか、MacBUの意見なのかは分からないが、事実は事実だ。

VBAサポートがなくなっても、REALbasic向けにOfficeオートメーションのモジュールが存在し、VBAサポートがなくなったバージョンのOffice for Macであっても、REALbasicからVBAライクな言語(REALbaicのこと)で自動化処理を記述することが可能、ともいっている(ただ……試してみたがOffice v.Xは動いたもののOffice 2004では動かなかったのだが……どうしたものか)。

ここまで読んでいて、何か決定的に「発表されていない」ものがあるような気がしてきた。未発表ではあるが、確実に移植をさまたげている要素があるように思えるのだ。たとえば、次期Officeは64ビット対応のアプリケーションとして書かれている、とか。そんなことは発表されてもいないが、どうも「互換性が」とか言っている割には説得力が少なく……Office 2008が64ビット対応製品であり、そのあたりで古いコードとの互換性問題に悩まされてきたとすれば割と納得が行く。

理由はともかく、今年後半に登場するOffice 2008ではVBAは動かない。AppleScriptによる自動化あるのみであって、われわれAppleScript系のデベロッパーにはさまざまなビジネスチャンスが生まれてくるかもしれない。



追記(2008/6/9):
その後、2008年1月にOffice 2008が発売された。同年3月、「次のメジャーアップデート時にmac:officeにVBAを復活させる」との発表がマイクロソフトからあった。Office 2008世代ではAppleScriptとAutomatorによるスクリプティングが整備されたのでこれを用い、次期バージョンではAppleScriptとAutomatorに加え、VBAがカムバックしてくることとなった。

Copyright By Piyomaru Software. All Rights Reserved