VBAで同じディレクトリ内にある画像を取り込むサンプルコード

VBA
記事内に広告が含まれています。

VBAで同じディレクトリ内にある画像を取り込むサンプルコードを紹介します。

《広告》

仕様

用意するのは以下の2ファイルです。

  • 画像ファイル
  • マクロ付きExcelファイル

フォルダ構成

マクロを実行する前、Excelの中身は何もありません。

そしてマクロを実行すると、画像ファイルをシート上に取り込みます。

実行前

ソースコード

VBAのエディタで以下のコードを記述します。

Option Explicit

Sub getPicture()
    
    '画像のパス
    Dim thisBookPath As String
    thisBookPath = ThisWorkbook.Path
    
    With ThisWorkbook.Sheets("Sheet1").Pictures.Insert(thisBookPath + "\2012-08-09 15.34.18.jpg")
    
        '位置
        .Top = Range("B3").Top
        .Left = Range("B3").Left
    
        '縦と横の比率を保持しない
        ThisWorkbook.Sheets("Sheet1").Shapes(.Name).LockAspectRatio = msoFalse
        
        'サイズ
        '縦横5マス
        .Width = Range("B3:F3").Width
        .Height = Range("B3:B12").Height
    
    End With
    
End Sub

画像は以下の設定で張り付けます。

  • 画像のパス:同じフォルダ内
  • 画像の貼り付け位置:B3セル
  • 画像の縦横比:保持しない
  • サイズ:横B3~F3の長さ、縦B3~B12の長さ

実行

実行手順

Alt + F8でマクロの一覧から、先ほどのマクロ関数を選択して実行します。

実行結果

マクロの実行ボタンを押下しました。

すると画像ファイルがシート上に貼り付けられました。

参考情報

環境

下記の環境で作成・実行しております。

No.環境バージョン
1OSWindows11
2ExcelExcel2016
環境一覧

以上です。