インストールレスプログラミング( ´ー`)

VBA , JavaScript , HTAなど 365アプリはインストール必要ですが、仕事に無いケースはほぼないから(・_・;)

画像の挿入マクロ

これは,多肢選択問題集みたいなものを作ったときに使ったコードを書き直したものです。
普段は必要性はまず無いと思いますが,スライドショー形式で配布をした場合,編集の仕方が難しいので,ファイルを選ぶだけで挿入できるように作ってみました。
画像がはみ出す時は縮小するように最初コードを書いてたんですが,大きい画像を挿入させてもはみださない・・。自動でやってくれてるのかなぁ(PPT2016を使ってます)
ファイルダイアログも便利な機能なので,その例としてもいい例だと思いました。

Option Explicit

Sub 画像更新()
    Dim FD As FileDialog
    Dim SelectedFile As Variant
    Dim TSlide As Slide: Set TSlide = ActivePresentation.Slides(1)
    
    Set FD = Application.FileDialog(msoFileDialogOpen)
    With FD
        With .Filters
            .Clear
            .Add "Images", "*.jpg;*.png;*.jpeg", 1
        End With
        .InitialFileName = ActivePresentation.Path & "\"
        If .Show = True Then
            Set SelectedFile = .SelectedItems
        End If
    End With

    On Error Resume Next
        If SelectedFile(1) = "" Then
            If MsgBox("現在の画像を消去しますか?", vbYesNo) = vbYes Then TSlide.Shapes("図").Delete
            Exit Sub
        End If
    On Error GoTo 0
    
    Dim NewPic As Shape
    Set NewPic = TSlide.Shapes.AddPicture(SelectedFile(1), msoFalse, msoTrue, 0, 0)
    NewPic.Name = "図"
End Sub