人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excel VBAマクロにより、シートに貼り付けられた画像を抽出しファイル保存する処理を自動で行いたいのですが、可能なのでしょうか?(Shape.AddPictureと逆の動作)

●質問者: sfyt
●カテゴリ:コンピュータ
✍キーワード:Excel VBA ファイル マクロ 抽出
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● upride
●25ポイント

http://google.co.jp/

Google

マクロを記録するだけでは駄目ですが

VBAの範疇でしたら可能です

が、VB自体のコーディングがわからないと

書けないですね

shapeオブジェクトを列挙し

該当する名前なら切り取ると

クリップボードに画像バイナリが移ります

それにファイル名をつけて吐き出します

この場合ビットマップなのでbmpですね

どこに保存するかなどをユーザに

決めさせる場合ダイアログを

出す処理が必要になります

うーんVBで書いた方が早いかも

っていうくらい

マクロとは言いがたい処理だと思います

◎質問者からの返答

Shapeオブジェクトのメソッド内では、SaveAsは無いので、まずお手上げでした。

別案として、Copyでクリップボードにコピーできますが、そこから先どうしようもなくて。。。

CreateObjectでペイントを起動してPasteできるかと思ったのですが、Sendkeyによる制御しかできなそうでした。


2 ● upride
●25ポイント

http://www.akikuma.cx/download.html

sfytさんは慣れてらっしゃるようなので

こちら紹介します

明熊JPG保存DLLを使うことで

十分できます

(xlsファイルだけでは実行できなくなりますが)

◎質問者からの返答

自分が使いたいだけでなく他人にも使わせたく、配布コストを最小限に抑えたかったため、Excel VBAを選択しました。DLLを使う方法はちょっと・・・

で、なんとか自力で解決できました。

ExcelからHTML形式での保存を行うと、構成ファイルを分離してフォルダにまとめてくれるのを利用しました。

ExcelオブジェクトのSaveAsでxlhtml形式での保存を行い、.filesフォルダの中身をGetFolderで探って、.jpgファイルのみを保存用フォルダにCopyFileしました。

お騒がせしました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ