我已使用插入图片手动将大量链接的图片粘贴到2010 Excel电子表格中 - >选择图片位置 - >链接到文件。这些图片是报告的一部分。我每季度使用R更新图片,我的报告会自动更新。完美。
我现在需要更改保存图表的目录,并且需要更新链接。由于其中大约有200个(这是一份大报告),我想在VBA中这样做。虽然我可以循环浏览图片(ActiveSheet.Pictures),但我似乎无法找到链接/地址。任何想法我怎么能看到底层文件位置所以我可能会改变它 - 引用必须存储在某处(注意 - 这些似乎不会存储为超链接)。
答案 0 :(得分:2)
知道如何查看底层文件位置,以便我可以更改它 - 引用必须存储在某处
似乎每个文件都对应一张工作表,并以这种格式存储图像的路径:
目标="文件:/// C:\ Users \用户名为myUsername \文件\ MyImageFolder \我%20Image%20Name.png"
这些步骤可以通过VBA,AutoIt等自动完成,这里有一些参考:
答案 1 :(得分:0)
Excel在这种情况下使用公式栏作为链接,就像在两个不同工作表中的范围之间链接一样。当我选择链接图片时,下面的公式填充在公式栏中:
=[TrialWB.xlsm]Sheet1!$C$3:$E$6
您可以使用以下代码访问Shape的公式并插入图片的特定名称:
ActiveSheet.Pictures("Picture Name").Formula = "=[TrialWB.xlsm]Sheet1!$C$4:$E$6"
在更新链接时,您必须更改公式中的文件路径。这可能看起来像:
ActiveSheet.Pictures("Picture Name").Formula = "='C:\Reports2015\[TrialWB.xlsm]Sheet1'!$C$4:$E$6"
更改为
ActiveSheet.Pictures("Picture Name").Formula = "='C:\Reports2016\[TrialWB.xlsm]Sheet1'!$C$4:$E$6"
这个问题可能对访问公式有一些进一步的帮助: Excel: create image from cell range
这是一个用于公式文件路径编辑的有用Microsoft页面:https://support.office.com/en-us/article/Create-an-external-reference-link-to-a-cell-range-in-another-workbook-c98d1803-dd75-4668-ac6a-d7cca2a9b95f