忍者ブログ

えくせるでぽらばら

なぜかExcelは大人気である。
そんなにExcelの何がいいのかわからないけども(余計なこともたくさんしてくれるんですよ。あれは)、みんなが標準的に使うから仕方ない。こっちもそれなりの覚悟で使ってやろうじゃないかということで触っているのだが……

ちなみにExcelで便利なのは自動的な計算だったり、似非リレーショナルDB構築だったり色々とある。まあDBのデータを作るならAccessでやれっていう話なんだけどMS OfficeではPersonalにはAccessはない。Excelならバンドルされている確率も格段に高いのと、慣れもあるのだろうがAccessよりも初動が早く、編集作業もしやすいせいか、とにかくExcel主義な人が多い。

で、マクロを使って一気にやっちまおうぜ。という作業にもExcelが似合う気がする。Wordで何を自動化するっていうのだろうかという点を考えてみてもいいかもしれない。

そのマクロなのだがずいぶん前からVBAになっていて、これはまあ何はともあれMSが育てたVBを組み込んだものといっていいだろう。ただ、どうにもこうにも、UIを作ってごにょごにょするのにはそう悪くないと思うのだがExcelでゴリゴリ処理とか考えると力不足というか構文がいやらしいというか、一貫して一貫性が無く、言語拡張を失敗したようで私としてもあまり好きではないのだった(BASIC自体は好きだし、VB.NETは改善されていていいと思う)。
言語仕様とCOMオブジェクトが入り乱れ意味不明になることが多いが、とかく文字列処理(しかもこの場合はもっともありそうな処理だと思う)が弱く、コレクション&イテレータの処理が無理やり感が強くて、やっていてストレスがたまる。正規表現もどっかから引っ張ってきて使えるし、別にイテレータなんていらないし、クラスは貧弱だけどできないことはないのだがストレスの原因は慣れ親しんだものじゃないという面もあるかもしれないがやっぱり駄目だ。

んで、自分だけで使うものだったら別にVBAで組む必要はないのだった。
COMで操作できるんだから好きにすればいいわけだ。JScriptという方法もあって、なかなか親和性が高いが、VBA、VBSと比べてもメリットはそれほど大きくないと思う(C界隈の者にはやや直感的に使いやすいけどわざわざ外部で操作するのにそれじゃあねぇ・・・)。
Cでは大変だがC++ならCOMもそれなりに触れる。が、これも結構ストレスがたまる作業が待っている。個人的にはVBAで書くよりはいいが、大掛かりになりやすいし、小回りも利かない上に低レベルなことを書かなければいけなかったりする。よくない。

やっぱりこういうときはPerlやらRubyやらPythonだってなんだっていいけどスクリプト型のもののほうが使いやすい。しかもこの子達(Pythonはなんだかそんな気はしないが)はテキスト処理なんかももりもり得意なのでVBやJSなんかでむりくりしなくてもすぱっときれいに処理できる。
というわけではっきりとお勧めなのだが、自分以外にも渡すとなると
『XLS一ファイルじゃないの? なにこれ?』
とか言われかねないので注意するべし。そういうときVBAに戻るとストレスで胃が痛くなります。

ちなみに遊びとして、WordのDOCファイルにマクロをぶち込んでおいて、隣のXLSしか処理しないとか馬鹿なこともできるです。
面白い仕組みだよなあとは思いますね。結構泥臭い感じもうけるんですが。

PR

2008/03/14 Note Comment(0)

COMMENT

COMMENT FORM

NAME
MAIL
WEB
TITLE
COMMENT
PASSWORD

カテゴリー
 
 
 
最新記事
 
(03/21)
(03/19)
(12/26)
(11/06)
(08/08)
 
 
ブログ内検索
 
 
 
カレンダー
 
04 2019/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
 
 
アーカイブ
 
 
 
最新TB
 
 
 
最新CM
 
 
 
リンク
 
 
 
Feed
 
 
 
注意点
 

英字のみのコメントは拒否しています。スパムの排除のためご理解をお願いいたします。(でも結構スルーされてしまいます。たまに掃除していますがご容赦のほどを。)

 
 
カウンター
 
 
 
アクセス解析