Excel-将文件夹中的图像插入单元格

时间:2017-08-05 19:34:23

标签: excel vba excel-vba

我想获取文件夹的所有图像,然后逐个插入它们以在Excel中缓慢递增单元格。例如,图片1应插入单元格E1,然后图片2插入单元格E2等

我当前的代码只能从此目录中获取1张图片并将其插入硬编码单元格中:

onActivityResult()

1 个答案:

答案 0 :(得分:3)

...试

Option Explicit

Sub Insert()

    Dim strFolder As String
    Dim strFileName As String
    Dim objPic As Picture
    Dim rngCell As Range

    strFolder = "C:\Users\Domenic\Pictures\Saved Pictures\" 'change the path accordingly
    If Right(strFolder, 1) <> "\" Then
        strFolder = strFolder & "\"
    End If

    Set rngCell = Range("E1") 'starting cell

    strFileName = Dir(strFolder & "*.png", vbNormal) 'filter for .png files

    Do While Len(strFileName) > 0
        Set objPic = ActiveSheet.Pictures.Insert(strFolder & strFileName)
        With objPic
            .Left = rngCell.Left
            .Top = rngCell.Top
            .Height = rngCell.RowHeight
            .Placement = xlMoveAndSize
        End With
        Set rngCell = rngCell.Offset(1, 0)
        strFileName = Dir
    Loop

End Sub

将LockAspectRatio属性设置为False,并将图片的宽度设置为单元格的宽度...

With objPic
    .ShapeRange.LockAspectRatio = False
    .Left = rngCell.Left
    .Top = rngCell.Top
    .Width = rngCell.Width
    .Height = rngCell.RowHeight
    .Placement = xlMoveAndSize
End With

希望这有帮助!