ExcelVBAを使用して、ワークシートに画像(図)を画像として挿入する方法です。
画像(図)をシートに挿入 | Pictures.Insertメソッドの方法と注意点
ExcelVBAを使用して、フォルダ内に保存されている画像をシートに配置する方法です。 Pictures.Insertメソッドの注意点 Pictures.Insertメソッドでワークシートに画像(...
目次
画像を挿入する/基本
引数は全て必須です。
Filename As String, LinkToFile As MsoTriState, SaveWithDocument As MsoTriState, Left As Single, Top As Single, Width As Single, Height As Single
説明
- Filename/String
挿入するファイル名(保存先のパスを含む) - LinkToFile/MsoTriState
True:もとのファイルとリンクする、False:画像として挿入 - SaveWithDocument/MsoTriState
True:リンクされた画像を挿入先のエクセルファイルと一緒に保存、False:リンク情報のみ保存 - Left/Singl
画像の左端位置 - Top/Single
画像の上端位置 - Width/Single
画像の幅指定 - Height/Single
画像の高さ指定
アクティブなワークシートのセルA1に画像を挿入する例です。
Sub sample1() ActiveSheet.Shapes.AddPicture _ Filename:="F:\sample\青森.png", _ LinkToFile:=False, _ SaveWithDocument:=True, _ Left:=Range("A1").Left, _ Top:=Range("A1").Top, _ Width:=450, _ Height:=280 End Sub
画像の挿入とサイズ変更
挿入元の画像サイズを保つ場合の例です。
Sub sample2() Const fName As String = "F:\sample\青森.png" Dim shp As Shape Set shp = ActiveSheet.Shapes.AddPicture( _ Filename:=fName, _ LinkToFile:=False, _ SaveWithDocument:=True, _ Left:=Range("A1").Left, _ Top:=Range("A1").Top, _ Width:=350, _ Height:=280) With shp .ScaleHeight 1, msoTrue .ScaleWidth 1, msoTrue End With End Sub
12~15行目で元のサイズに戻します。80%にしたい場合は「1」を「0.8」にします。
参考
フォルダ内にある複数の画像を挿入する場合は次を参考にするとできます。