【コラム】あまりに便利すぎた・・・Excel VBAの「行き詰まり」問題〔07/02〕

このエントリーをはてなブックマークに追加
1(^o^)ノ<進めーψ ★
 VBA(Visual Basic for Applications)はおそらく,マイクロソフトが想定していた以上に,広く使われて
しまったのではないだろうか。そのためマイクロソフトは,VBAのベースであるVB(Visual Basic)を
VB 6からVB .NETへと大幅バージョンアップをした際にも,“VBA .NET”とはできずに旧態依然の
仕様のまま取り残す格好になってしまった。

VBAの場合,Excelの新版でVBA自体がバージョンアップしていないにもかかわらず,過去にVBAで
作ったシステムが使えなくなってしまうことがある。

 理由の一つに,VBAで操作対象となるExcelのオブジェクトが,Excelのバージョンアップに伴って
変更されていることがある。最近,以前 Excel 2002向けに書かれた雑誌やWebの記事を日経
ソフトウエア9月号付録冊子に収録するために,記事の筆者にExcel 2007での動作確認をお願いした。
すると,VBAのプログラムをそのまま使えそうなのは半分程度だろうとの回答を頂いた。

 「例えば,Excel 2007ではコマンドバーやアシスタントが廃止された。VBAプログラムでこれらの
オブジェクトのメソッドを実行したりプロパティの値を変更したりすると,エラーになる場合,無視される
場合,Excel 2002とは違う結果になる場合がある」(記事の著者)。既存資産が多いのでバージョン
アップができないのに,新しい環境では既存プログラムの動作が保証されないのだとすると,
プログラミング言語としての行き詰り感は否めない。VBAのせいだけではないだろうが,Excelで
開発したシステムは,メンテナンスが困難だという指摘がある。

マイクロソフトはこうした問題点に手をこまぬいているわけではない。VBAをバージョンアップする代わりに,
オフィス・ソフトのアプリケーションを開発する環境「VSTO(Visual Studio Tools for Office)」を2003年に
リリース。Excelのアプリケーションなどを開発できる。

個人や小規模組織が期間限定で使うようなプログラムでVBAはあまりに便利だったので,
本来使うべきではないところにも使われてしまった。それが現在のVBAの行き詰まり感を生んでいる
のかもしれない。

http://itpro.nikkeibp.co.jp/article/OPINION/20090701/332992/
2名無しさん@お腹いっぱい。:2009/07/02(木) 12:41:10 ID:???
インタプリタでもないから大変だな
3名無しさん@お腹いっぱい。:2009/07/02(木) 13:40:23 ID:???
>VBAをバージョンアップする代わりに,オフィス・ソフトのアプリケーションを開発する環境「VSTO(Visual Studio Tools for Office)」を2003年にリリース。

え?VSTOってそういうためのものだったのか、知らんかった。
おもいっきりVisualStudioの購入選定ミスしたかも。
4名無しさん@お腹いっぱい。:2009/07/02(木) 14:32:43 ID:???
access97をいまだに保守している。。。
5名無しさん@お腹いっぱい。:2009/07/02(木) 18:31:36 ID:k7dPwMRd
mac版Officeは、ヤケクソになったのかVBA廃止して、
AppleScriptに移行したら大ブーイングだったからな
6名無しさん@お腹いっぱい。:2009/07/02(木) 18:48:19 ID:???
>Windows OfficeのVBAもあと数年でなくなる予定
http://piyo.piyocast.com/piyocolumn/2007/msoffice_mac_2008vba.html

なんだと!?
7名無しさん@お腹いっぱい。:2009/07/02(木) 19:21:47 ID:???
そもそもOffice 2007に問題があるんだよ

機能が増えたり進化して互換性が維持できなくなるなら納得できるけど
特にグラフ関係とかそうだけど2003より劣化してるんだもん
8名無しさん@お腹いっぱい。:2009/07/02(木) 19:42:56 ID:???
>>6
なんだとってなんのこと?

追記(2008/6/9):
その後、2008年1月にOffice 2008が発売された。同年3月、
「次のメジャーアップデート時にmac:officeにVBAを復活させる」との
発表がマイクロソフトからあった。Office 2008世代ではAppleScriptとAutomatorに
よるスクリプティングが整備されたのでこれを用い、次期バージョンではAppleScriptとAutomatorに加え、
VBAがカムバックしてくることとなった。
9名無しさん@お腹いっぱい。:2009/07/02(木) 20:22:40 ID:???
>>1
> 変更されていることがある。最近,以前 Excel 2002向けに書かれた雑誌やWebの記事を日経
> ソフトウエア9月号付録冊子に収録するために,記事の筆者にExcel 2007での動作確認をお願いした。
> すると,VBAのプログラムをそのまま使えそうなのは半分程度だろうとの回答を頂いた。

こう書くと、ええ!半分しか動かないのか!?
ってなるけど、雑誌に載せるようなプログラムと実際に使われているプログラムは違うからな。
10名無しさん@お腹いっぱい。:2009/07/02(木) 20:25:01 ID:???
>>9
しかも、実際には試していないようだしね。
やってみたら全部動くと俺は思う
11名無しさん@お腹いっぱい。:2009/07/02(木) 20:33:51 ID:???
12名無しさん@お腹いっぱい。:2009/07/02(木) 22:04:01 ID:???
なんでコロコロ仕様を変えるの?
13名無しさん@お腹いっぱい。:2009/07/02(木) 22:23:00 ID:???
VBAの勉強に費やした時間が無駄になるのか…
MSってどうしてコロコロ仕様を変えるのかな?
OSもofficeもコロコロ仕様を変えやがってよ。
14名無しさん@お腹いっぱい。:2009/07/02(木) 22:35:29 ID:???
アシスタントってあのイルカの事か?
VBAから呼び出せるなんて知らなかった、って言うか何に使うんだ?

>>13
macでさえ反発多くて撤回したんだし大丈夫だろう、多分
windowsで同じ事やったらOOoにさらに流れちゃうだろうし
15名無しさん@お腹いっぱい。:2009/07/02(木) 23:00:32 ID:???
このままやってるとまた非互換性で欧州から大罰金くらいそうだな
16名無しさん@お腹いっぱい。:2009/07/03(金) 21:03:11 ID:???
>>13

講習会で稼げる
解説本が売れる
17名無しさん@お腹いっぱい。
>>4
最近になってやっと撤廃できたよ、うちの会社