29本目 画像の挿入

VBA100本ノック

VBA100本ノック 29本目を動画で解説しています。Excelの神髄さんの模範解答はコチラ


問題

#VBA100本ノック 29本目
ファイル選択ダイアログで画像ファイルを指定し、その画像をアクティブセルにリンクしない図として貼り付けてください。
貼り付けた画像は、縦横比を維持したままセル内に収めてください。
セル内の位置はなるべく真ん中に。
※選択できる拡張子は適当に。

解答

Sub test1()

    ActiveSheet.Shapes.AddPicture "C:\29本目\部長.png", False, True, 0, 0, -1, -1

End Sub

Sub test2()
    Dim rng As Range
    Set rng = ActiveCell
    
    Dim sPath As String
    
    With Application.FileDialog(msoFileDialogFilePicker)
        .Show
        sPath = .SelectedItems(1)
    End With
    
    Dim sp As Shape
    Set sp = ActiveSheet.Shapes.AddPicture(sPath, False, True, rng.Left, rng.Top, -1, -1)
        
    If rng.Width > rng.Height Then
        sp.Height = rng.Height
    Else
        sp.Width = rng.Width
    End If
    
    sp.Top = rng.Top + (rng.Height - sp.Height) / 2
    sp.Left = rng.Left + (rng.Width - sp.Width) / 2
    
End Sub
新人君
新人君

画像を挿入するなんて

楽しそうですね!

ブチョ
ブチョ

画像だぁ?
時代は活動写真だろ!

新人君
新人君

大正時代生きとんかこの人…

コメント

タイトルとURLをコピーしました