ExcelVBAに挑戦
エクセルのVBマクロに初挑戦しました。CASPAR003です、こんばんは。
ううん、難しい。結構苦労したし、できたマクロもちょっと不満が残る物でした。似たようなグラフを大量に作るのに、テンプレートを当てるだけでは適用しきれない箇所を修正するというマクロだったんですがあれこれ調べてようやっとできた感じ。
VBAとExcelのオブジェクトモデル自体はそれほど難しい物ではなく、似たようなプログラミング言語の経験があればすんなりと受け入れられるものですが、技術文書が圧倒的に不足していると感じました。
Webの情報でコード片はたくさん手に入りますが、それを改造するときにそれぞれのメソッドの使い方とか、例外への対処法だとかの情報がなかなか揃いません。メソッド一覧が載ってたのは結局かのmsdnだけでしたが、msdnはメソッドの存在は教えてくれても使い方を教えてくれないので結局わからないことはわからないまま。
あとグラフ関係の操作はマクロ記録しても思ったように記録されない処理が多くて、とりあえず記録でってわけにもいかないです。
エディタがメソッド候補を出してくれますが、出ないことがあったり名前見てもわからなかったりで、学習用にはなりませんでした。
結局いろいろやったけどわからない事だらけということに。
ActiveChartに対して処理を書きたかったんですが、2つ選択したらどうなるのかとか、選択されていないときはどうなるのかとか、調べたけど解決しませんでした。
msdnには「アクティブなグラフがないときは、このプロパティは null オブジェクト参照 (Visual Basic ではNothing) を返します」
とあるけど、If(ActiveChart)
てな具合に評価にかけただけでエラー出して止まるし謎です。
マクロって使える人はすごく使いこなしているイメージがありましたが、実際に触れてみると素人と玄人の間にあるレベル差がとてつもなく大きく感じました。使えるようになるまで苦労するけれど、一度使えるようになってしまえばそこらの人がネットで調べてやったくらいじゃとても到達できないような能力を得られる気がします。
使いこなすと便利そうなので、教科書を見つけてきてじっくり取り組みたいです。
余談1: 最近の携帯電話のマニュアルとかも嫌いなんですが「○○したいとき」みたいな逆引き形式のサンプル集って初心者にはかえってわかりづらくないですか?ある程度知識のある人がそういうの見て初めて「ああ、こういう使い方もできるのか」と気づくパターンの方が多いと思う。その点では携帯のマニュアルはある程度知識のある人が「この機種はこんなこともできるのか」を知るためにできていると思えば少しは納得します。
余談2: msdnは言っていることがよくわからない上にレスポンスが非常に悪いので常に舌打ちしながら見てた気がします。明日、隣の人に謝っておこう…。
投稿者 | CASPAR003 |
投稿時刻 | 22:17 |
カテゴリー | 雑記 |
コメント | 0 件 |
トラックバック | 0 件 |
記事へのリンク | http://www.caspar003.info/delta/archive/2010/01/27/2217.html |
コメント
- 投稿者
トラックバック
- トラックバック