Подтвердить что ты не робот

Массовое обновление Excel Hyperlink

У меня есть таблица с тысячами строк. Каждая строка содержит гиперссылку с контуром.

Путь недействителен, однако легко можно зафиксировать, заменив первую часть его правильным значением.

Example: current hyperlink: F:\Help\index.html

Needed: P:\SystemHelp\index.html

Проблема заключается в том, что стандартный Find/Replace не "видит" содержимое гиперссылок.

Это единственный способ написать макрос или есть ли другой способ сделать это?

4b9b3361

Ответ 1

Я не знаю другого способа, кроме макроса. Но похоже, что кто-то уже написал один, чтобы сделать это.

Ответ 2

Привет, cnx.org, способ изобретать функцию Replace.

Sub FindReplaceHLinks(sFind As String, sReplace As String, _
    Optional lStart As Long = 1, Optional lCount As Long = -1)

    Dim rCell As Range
    Dim hl As Hyperlink

    For Each rCell In ActiveSheet.UsedRange.Cells
        If rCell.Hyperlinks.Count > 0 Then
            For Each hl In rCell.Hyperlinks
                hl.Address = Replace(hl.Address, sFind, sReplace, lStart, lCount, vbTextCompare)
            Next hl
        End If
    Next rCell
End Sub

Sub Doit()

    FindReplaceHLinks "F:\help\", "F:\SystemHelp\"

End Sub

Ответ 3

Нет необходимости в макросе

Предупреждение: некоторые вещи, такие как графики и т.д., могут быть потеряны, однако формулы и форматы, похоже, сохраняются.

  • Сохраните документ как лист распространения XML

  • Откройте файл с помощью Блокнота

  • "Заменить все" из "неправильной текстовой строки" на "правильную текстовую строку"

  • Сохранить

  • Откройте файл с помощью Excel

  • Сохранить документ в оригинальном формате

Ответ 4

Другой способ заключается в том, чтобы вставить символ, так что это весь текст, поиск и замена, а затем пройти и удалить символы.