パワポの【疑問】を解決!「よくあるご質問」はこちら ▶︎
スポンサーリンク
スポンサーリンク

PowerPointで透過用の四角形を画像と同サイズで作るマクロ

PowerPoint VBAを使い、透過用の四角形を選択中の画像と同じサイズで作るマクロをご紹介します。

PowerPointで画像を透過させる為には、四角形の中に画像を挿入する必要があります。その一連の操作を自動で行えるマクロです。

スポンサーリンク

透過用の四角形を作成するマクロ

コード

Sub 透過用の四角形を作成()

    Dim msg As String
    Dim x, y, w, h, r As Single
    Dim n As Long
    Dim shp As Shape
    
    With ActiveWindow.Selection
    
        'オブジェクトが選択されていない場合はマクロ終了
        If .Type = ppSelectionNone _
        Or .Type = ppSelectionSlides Then
        
            msg = "オブジェクトを選択してください。"
            MsgBox msg
            Exit Sub
            
        End If
    
        With .ShapeRange
        
            '選択画像のプロパティを取得
            x = .Top
            y = .Left
            w = .Width
            h = .Height
            r = .Rotation
            '回転をリセット
            .Rotation = 0
            
        End With
        
        '選択画像をカット
        .Cut

    End With
        
    '選択中のスライド番号を取得
    n = ActiveWindow.Selection.SlideRange.SlideIndex
    
    With ActivePresentation

        '選択画像と同じサイズの四角形を作成
        Set shp = .Slides(n).Shapes.AddShape( _
        Type:=msoShapeRectangle, _
        Left:=y, _
        Top:=x, _
        Width:=w, _
        Height:=h)
    
        '四角形の色
        shp.Fill.ForeColor.RGB = RGB(0, 0, 0)
        '線なし
        shp.Line.Visible = msoFalse
        '回転
        shp.Rotation = r
        'テクスチャで塗りつぶす
        shp.Fill.PresetTextured 1
        '透明度
        shp.Fill.Transparency = 0.5
        '図形を選択
        shp.Select
        
        'クリップボードからの画像の挿入は手動で行う

    End With
End Sub
スポンサーリンク

実行結果

透過したい画像を用意します。今回は木漏れ日の画像を透過させます。

画像を選択してマクロを実行すると、画像と同じサイズの四角形が画像と同じ位置に作成されます。

四角形の塗りを「塗りつぶし(図またはテクスチャ)」の「透明度:50%」に設定しているので、後は画像を挿入するだけでOKです。

同時に選択していた画像のカットもしているので、クリップボードに保存されている状態です。

図形へのクリップボードからの画像の挿入はマクロでは実装できないので、ここからは手動で行います。(完全自動処理にできないのが残念です。)

四角形を選択した状態で、「図形の書式設定」ウィンドウ →「図形のオプション」→「塗りつぶしと線」→「塗りつぶし」→「塗りつぶし(図またはテクスチャ)」→「画像ソース」の「クリップボード」をクリックします。

四角形の中に透過された状態で画像が挿入されました。画像と同じサイズの四角形なので縦横比も保たれます。

透明度の設定は「shp.Fill.Transparency = 0.5」の値でお好みに変更してください。

まとめ

今回のマクロは、画像を透過するだけなのに操作の手順が多すぎると思い作成しました。もっと楽に透過したいということでマクロの登場です。

「透過用の四角形を作成するマクロ」を使えば、画像を透過させる為に行う

  • 画像と同じサイズの四角形を作成 →
  • 画像をカット →
  • 四角形の塗りを「塗りつぶし(図またはテクスチャ)」に変更 →
  • クリップボードから画像を挿入 →
  • 透明度の調整

の一連の操作が、「クリップボードから画像を挿入」だけで済むようになりました。

何度も繰り返す一連の操作は、マクロにして一瞬で終わらせるのが効率的です。