excel2013自动插入图片

excel2013自动插入图片

我有一个文件夹,里面有图片文件,pic1、pic1a、pic2、pic2a....等等,直到 pic22a

我有一个电子表格,里面有空间可以放置每张图片。图片每天都会变化,但文件名保持不变。每天我都必须打印一份包含更新图片的电子表格的 PDF。能否让电子表格自动更新新图片,而不是每天手动更改图片。我以为这会相对简单,但显然并非如此。

为了简单起见,我们假设图片位于 A1:B2、C1:D2 等,并且图片位于文件夹“pictures-here\”中

有人能提供一些帮助吗,或者知道我可以使用的方法

非常感谢约翰

答案1

这是一个初步的解决方案。试试这两个宏。

Sub Del_Pics()

    Dim MyPics As Object
    For Each MyPics In ActiveSheet.Pictures
        MyPics.Delete
    Next MyPics

End Sub

Sub Add_Pics()
   On Error Resume Next
   Range("C1").Select
   ActiveSheet.Pictures.Insert ("C:\Temp\pic1.jpg")
   Range("F1").Select
   ActiveSheet.Pictures.Insert ("C:\Temp\pic1a.jpg")
End Sub

第一个宏名为 Del_Pics,它将从文件中删除所有插入的图片。假设您在文件中没有任何希望始终存在的静态插入图像。

第二个宏 Add_Pics 在文件中的相应单元格中添加相应的图片。您需要修改它以指定工作表中适用的确切文件名和路径以及单元格位置。对所有图片重复此操作。不过,也可以采用更智能的解决方案,即循环遍历文件夹中的所有文件并将其放置在相应的单元格中。

这是初步解决方案。不会验证图片大小和调整高度等。

按 ALT + F11 访问 VBA 编辑器并从插入菜单插入一个模块,并将上述代码插入其中。

当您需要运行相同的代码时。按 ALT + F8 访问宏对话框,然后选择并运行所需的宏。您可能还想将两者合并为一个代码。首先放置 Del_Pics 代码。

相关内容