我想通过VBA在excel中插入多个逐项列出的对象


1

有没有办法可以设置这个代码让嵌入的图像进入一个单独的单元而不是相互叠加?

例如,我运行此宏来插入3个PDF。我想要这些3个PDF进入单元格A2,A3,A4。

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

Sub AddOlEObject()

昏暗的mainWorkBook作为工作簿

设置mainWorkBook = ActiveWorkbook

Folderpath =“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

mainWorkBook.Save

结束子


请提供您正在使用的宏。
gtwebb

我在我的帖子中粘贴了代码。我在上一篇标题为“是否可以在Excel 2007中一次插入多个对象?”的帖子中找到此代码。
JAY

Answers:


0

对象实际上并没有放在单元格中,所以我不确定如何使用邮件合并,但是将对象放在不同的位置只需选择不同的单元格(如果不指定顶部和左侧,对象将放置在活动单元格中)。

添加类似的东西

Range("A" & Counter).select

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


太棒了,这个列出了对象,但是当我去做邮件合并时它没有发送附件。你有什么建议吗?
JAY

我真的不知道从excel邮件合并的任何事情,但我猜你最好在excel中存储一个完整的文件路径,而不是实际的附件。
gtwebb

真?我应该对代码进行哪些更新?
JAY
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.