エクセル VBA 埋込グラフに画像を貼りJPGで保存する時の備忘録 あれ?

初心者です。

もっと整理しなくてはいけないのですが、とりあえずのメモ。

ネットで、エクセル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で制御すればいいのかな??