我有以下VBA脚本,我用它来替换特定Visio文档中所有超链接中的地址。(将%20
替换为原始空间,以允许链接在Chrome/Firefox中工作。)
Sub ChangeHyperlinks() ' change all hyperlinks on all shapes on all pages that start with
' "%20" to start with " "
Dim pg As Page
Dim shp As Shape
Dim hl As Hyperlink
For Each pg In ActiveDocument.Pages
For Each shp In pg.Shapes
For Each hl In shp.Hyperlinks
hl.Address = Replace(hl.Address, "%20", " ")
Next
Next
Next
End Sub
我想要一种方法将上述代码应用于特定文件夹和子文件夹内的所有Visio文档。
您可能希望使用FileSystemObject类来生成一个文件夹(包括子文件夹)中所有VBA文件的列表。如果您搜索FileSystemObject和VBA,应该会有示例。
然后可以遍历文件路径列表,并使用Visio的Application.Documents.Open例程打开每个文件,运行ChangeHyperlinks宏,然后保存并关闭文件。