過去ログ

                                Page     541
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼ワークシートに挿入されたBMP画像をJPGに変換  allen 03/1/13(月) 19:51
   ┗Re:ワークシートに挿入されたBMP画像をJPGに変換  JuJu 03/1/14(火) 12:20

 ───────────────────────────────────────
 ■題名 : ワークシートに挿入されたBMP画像をJPGに変換
 ■名前 : allen
 ■日付 : 03/1/13(月) 19:51
 -------------------------------------------------------------------------
   皆様、いつもお世話になります。
ワークシートに挿入された画像がBMPだったため、
ファイルサイズがかなり大きくなる問題を抱えております。

そこでBMPをJPGに変換するため、以下のような
VBAプロシジャを考えました。(概略です)

1.画像をコピー
2.ShellでPaint.exeを呼び出し
3.Sendkeyでキャンバスサイズを調整
4.Sendkeyで貼り付け
5.Sendkeyでjpg形式でセーブ
6.insertでワークシートに挿入

しかし2から3にうまく移ってくれません。
Paint.exeが起動する前にExcelに対してSendkeyがコマンドを送ってしまいます。
他のアプリケーションとVBAプロシジャを同期させる方法はありませんか?
Application.waitを使ってもうまく行きません。

「Windows APIを使うと出来るかもしれない」という所までは判っているのですが。

以上、お手数ですが情報をお願い致します。
 ───────────────────────────────────────  ■題名 : Re:ワークシートに挿入されたBMP画像をJPGに変換  ■名前 : JuJu <juju-bbs@su-u.com>  ■日付 : 03/1/14(火) 12:20  -------------------------------------------------------------------------
   allenさん、こんにちはぁ

あまり難しく考えないで、一度張った画像を形式選択貼り付けでJPGを選択。ではどうでしょう。
(Excel2000以降だけだったかな)

図形が選択されていれば、こんな感じです。

 Selection.Cut
 ActiveSheet.PasteSpecial "図 (JPEG)"

ではではぁ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 541