[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
- Newer : 一太郎とWordとWriter
- Older : Silverthorneの正式名称決定
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
なぜか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しか処理しないとか馬鹿なこともできるです。
面白い仕組みだよなあとは思いますね。結構泥臭い感じもうけるんですが。
COMMENT
COMMENT FORM