Пересмотреть каталог документов Visio, чтобы "найти и заменить" все адреса гиперссылок
У меня есть следующий скрипт 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 в определенной папке и подпапках.
1 ответ
Возможно, вы захотите использовать класс FileSystemObject для генерации списка всех файлов VBA в папке, включая подпапки. Должны быть примеры, если вы ищете FileSystemObject и VBA.
Затем вы можете просмотреть список путей к файлам и использовать подпрограмму Visio Application.Documents.Open, чтобы открыть каждый файл, запустить макрос ChangeHyperlinks, а затем сохранить и закрыть файл.