Пересмотреть каталог документов 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, а затем сохранить и закрыть файл.

Другие вопросы по тегам