我希望通过 VBA 在 Excel 中插入多个项目化对象

我希望通过 VBA 在 Excel 中插入多个项目化对象

有没有办法可以设置此代码,让嵌入的图像进入单独的单元格而不是彼此叠加?

例如,我运行此宏来插入 3 个 PDF。我希望这 3 个 PDF 位于单元格 A2、A3、A4 中。

我这样做的原因是我将在邮件合并中使用此电子表格将各个 PDF 发送到不同的电子邮件地址。

子 AddOlEObject()

Dim mainWorkBook 作为工作簿

设置 mainWorkBook = ActiveWorkbook

文件夹路径 = “C:\Users\jyousef\Documents\SL\October15”

设置 fso = CreateObject("Scripting.FileSystemObject")

NoOfFiles = fso.GetFolder(Folderpath).Files.Count

Set listfiles = fso.GetFolder(Folderpath).Files

For Each fls In listfiles

    Counter = Counter + 1

    Range("A" & Counter).Value = fls.Name

    strCompFilePath = Folderpath & "\" & Trim(fls.Name)

    If strCompFilePath <> "" Then

        ActiveSheet.OLEObjects.Add(Filename:=strCompFilePath, Link:=False, DisplayAsIcon:=True, IconIndex:=1, IconLabel:=strCompFilePath).Select

            'Sheets("Object").Activate

        'Sheets("Object").Range("B" & ((Counter - 1) * 3) + 1).Select

    End If

Next

保存

子目录结束

答案1

对象实际上并未放置在单元格中,因此我不确定它将如何与邮件合并一起工作,但要将对象放置在不同的点,只需选择不同的单元格(如果您未指定顶部和左侧,则对象将放置在活动单元格中)。

添加类似

Range("A" & Counter).select

Range("A" & Counter).Value = fls.Name

相关内容