C#でLate Binding
id:halo_w2:20070111のExcelの印刷範囲を画像に変換する機能なのだけど、どうもExcelのバージョンによっては作動しないみたい。参照設定のCOMから、Microsoft Excel Object Library 11.0を選択しているのだけれど、これだとDLLがEarly Bindingになってしまうためだとおもわれ。Excelのバージョンによってメソッドの引数が違うんだろう。
というわけでC#からLate Bindingを利用できる方法を探してみることに。
- VB.NET にはLate Binding支援機能があるけど、C# ではReflectionを使わないと実現できないらしい
- orz
- いまのところ、C#遅延バインディング機能を追加するような計画はないらしい
- orz
- C#でReflectionを用いたLate Bindingのサンプル
- へーこんなテクニックもあるのか。C# 初心者も漏れには付いていけない世界だ。
Reflectionを使った方法も興味あるけれど、Excel操作部分のみをVB.NETで記述するというのも手かも。とりあえずid:halo_w2:20070201のApplication.Run()で直接VBSを実行する方法で対処できるか試してみようかな。