初心者です。
もっと整理しなくてはいけないのですが、とりあえずのメモ。
ネットで、エクセルVBAを使い、JPG画像を外部に保存するものがあった。
(詳しいやり方は検索すれば出てきます。)
要は、画像を「埋め込みグラフ」に貼り、それをエクスポートするやり方。
これはこれでうまくいった。
しかし、画像サイズを大きくしたりして、保存しようとしたらハマった。
「埋込グラフ」は、chartobjectとchartからなっている。
chartobjectは外枠、chartは内側の感じで、最初に、
Set cht = ActiveSheet.ChartObjects.Add(0, 0, 700, 1000).Chart
とかにすると外側が大きい(700*1000)白紙の埋込グラフができる。
これで後は、内部のchartをつかんでサイズを.height=○○ .width=○○
に、設定すればいいやと思ったが、できなかった。
chartをつかむため、chartobjectの名前やchartのindexを取得してみたが、ダメだった。
結論:chartにはheightなど用意されていない。オブジェクトブラウザーを見れば分かるが、chartobjectやchartobjectsのメンバーにはheightなどがあるのに、chartにはなかった。
(「メソッドまたはメンバーが見つかりません」ということか?)
で、考えたのは、
cht.paste
で、埋込グラフを作る時や、埋込グラフに画像を貼る時にはサイズを変えない。
貼った後に、外側のchartobjectのサイズを変えたら、内部も変わるのではないかということ。
うまくいった。順番を変えただけみたいな感じ。
もうすこし、オブジェクトについて、理解しないと・・・
あれ?よく考えたら、jpg画像をhtmlで使うなら、cssで制御すればいいのかな??