図形を選んだ画像で塗りつぶす
図形の内側が選んだ画像で塗りつぶされます。 ファイル選択をキャンセルしたときは何も追加せず終了します。
実行前に確認
- 画像を選択するたびに練習シートを追加します。ブック構成の保護中は追加できません。
- 画像の著作権と個人情報に注意し、公開してよい画像だけを使用してください。
- 画像が読み込めない形式や壊れたファイルだとエラーになります。
- 塗りつぶしでは図形に合わせて画像が変形する場合があります。
- Excel実機での動作は未確認です。コピーした練習用ブックで試してください。
1サンプルコード
Option Explicit
Sub PracticePicture5054()
Dim filePath As Variant
Dim ws As Worksheet
Dim s As Shape
filePath = Application.GetOpenFilename("画像 (*.png;*.jpg;*.jpeg),*.png;*.jpg;*.jpeg")
If VarType(filePath) = vbBoolean Then Exit Sub
Set ws = ThisWorkbook.Worksheets.Add
Set s = ws.Shapes.AddShape(msoShapeRoundedRectangle, 60, 60, 180, 90)
s.Fill.UserPicture CStr(filePath)
End Sub図で見る画像の読み込み
イメージ図ファイルを選んで新しい練習シートへ追加する流れです。
選択
PNGまたはJPEGを選ぶ。キャンセルなら終了
追加
新しいシートへ図形または画像を作成
結果
図形の内側が選んだ画像で塗りつぶされます。
塗りつぶしでは図形に合わせて画像が変形する場合があります。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する3つの手順で、コードの使い方を確認できます
- 1
マクロ有効ブックの標準モジュールへコードを貼り付けます。
- 2
PracticePicture5054を実行し、手元のPNGまたはJPEG画像を選択します。
- 3
新しい練習シートで表示を確認します。図形の内側が選んだ画像で塗りつぶされます。