VB.NET Excel上の図の画像を取得したい


京子たん  2023-09-01 11:56:35  No: 151069  IP: [192.*.*.*]

お世話になります。
vb.net で Excelファイルを開き、そこに保存されている図(Shape)の画像を変数に保存したいのですが方法がわかりません。
既にExcelファイルはオープ出来ていて各Cellの値などの取得はできているのですが、無造作に配置されている図1や図2などのShapeの画像データを取得をしたいのです。

Dim xlShapes As Excel.Shapes
Dim xlShape As Excel.Shape
xlShapes = sh.Shapes
xlShape = xlShapes.Item(1)

Dim img As Image = xlShape ・・・・ こんな感じで図の画像を Image型に保存したいのですが実現できません。(エラー発生)

xlShapeに画像を示すプロパティがあれば良いのですが、若輩者でそれを見つける事ができませんでした。
Excel上の図1や図2などのShapeの画像データを vb.net上のImage変数に保存する方法をご教授願えませんでしょうか?

よろしくお願いいたします

編集    削除
とめ  2023-09-04 09:00:58  No: 151073  IP: [192.*.*.*]

オートシェイプを画像として保存するコマンドは用意されていなかったと思います。

「Excel Shape 保存」のキーワードで検索すれば、ChartObjects にコピペするコマンドを
挟むことで Chart.Export を使って画像出力しているコードを公開している方がいらっしゃいますね。
そういった裏技的な手順が必要かと思われます。

編集    削除