DelFusa Blog 総本山

プログラミングの話題とかです。

NEW | PAGE-SELECT | NEXT

≫ EDIT

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

| スポンサー広告 | --:-- | comments(-) | trackbacks(-) | TOP↑

≫ EDIT

画像ファイル連続Excel貼り付けプログラム InsertImageFileToExcel

2014-06-25.png

すいません。
間違って、というか、デグレードして、リンク画像挿入のプログラムになってしまっておりました。

結構な数、ダウンロードしていただいたのに、ごめんです。m(._.)m ペコッ

ということで、修正版アップしました。
InsertImageFileToExcel
こちらは、ちゃんと、画像が挿入できるし、PNGもJPEGも対応です。


Picture.Insertは使っちゃだめ。

Excelのどのバージョンに起因する問題なのかはわからないのですが、こんな情報があるんです。

Excel 2010 で Pictures.Insert メソッドを使用して図をワークシートに挿入すると図がリンク オブジェクトとして挿入される
http://support.microsoft.com/kb/2396509/ja


下記で紹介されているテクニックを使わせてもらったのですがこれが使えなくなってます。古いExcelではちゃんと動くのかどうかは未確認。

Office TANAKA - Excel VBA Tips[画像の大きさを取得する]
http://officetanaka.net/excel/vba/tips/tips87.htm

元画像のサイズを求めてPicture.Insertしているんだけど、
元画像サイズを求めるのも、PNG画像に対しては非対応。


なので、リンクイメージじゃなくて、通常画像としてExcelに貼り付けるには、次のようにします。

  Dim ObjShape As Object
  Set ObjShape = Sheet.Shapes.AddPicture( _
    Filename:=FilePath, _
    LinkToFile:=False, _
    SaveWithDocument:=True, _
    Left:=Columns("a").Width, _
    Top:=ImageInsertTop, _
    Width:=-1, _
    Height:=-1)

Width と Height に-1 を設定すると、元画像サイズでShapeが作成されます。
Excel2010とExcel2013で動作確認しました。

よろしくです。
スポンサーサイト

| 未分類 | 19:04 | comments:0 | trackbacks(-) | TOP↑

COMMENT















非公開コメント

PREV | PAGE-SELECT | NEXT

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。