0

我有以下 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 文档的方法。

4

1 回答 1

0

您可能希望使用 FileSystemObject 类来生成文件夹中所有 VBA 文件的列表,包括子文件夹。如果您搜索 FileSystemObject 和 VBA,应该有示例。

然后,您可以遍历文件路径列表,并使用 Visio 的 Application.Documents.Open 例程打开每个文件,运行 ChangeHyperlinks 宏,然后保存并关闭文件。

于 2014-08-12T17:22:05.917 回答