はじめに
Excel上で使われる図は、Excel上で作図されるグラフが大半だと思いますが、以下のようなケースではExcelファイル(ワークブック)から見て外部ファイルを画像として貼り付ける必要があります。
- ワークシート上の表とセットで、別のアプリで作図した図をワークシートに載せたい時。
- Excelで帳票を作成する際に、会社のロゴや社印を付けたい時。
もちろん手作業で画像を貼り付けることも可能ですが、ここではプログラムを使って画像を挿入する方法を紹介します。
利用する関数
Addpicture(FileName、 linktofile、 savewithdocument、 Left、 Top、 Width、 Height)
- 上記のAddPictureという関数を使うと、ワークシート上に簡単に画像を貼り付けられます。
- この関数のポイントは、「第6/第7引数のWidthとHeightに-1を渡すと、元の画像の幅や高さが保持される」という仕組みになっています。
- APIを見るまでは、こんな方法で画像ファイルのサイズを事前に取得しておいて、得られた画像の幅と高さを指定しなければいけないのではと思っていました...
サンプルコード
Module1
Option Explicit
' ワークシートに画像を挿入する。
Sub InsertImage()
With ThisWorkbook.Worksheets("Sheet1")
.Shapes.AddPicture "C:\Users\NKOJIMA\Desktop\cat2.png", msoFalse, msoTrue, 100, 30, -1, -1
End With
End Sub
- サンプルコードを実行すると、このようにワークシート上に画像が挿入されます。