Похожие вопросы

Mac OS: как я могу переименовать файл, например APP 001.gif в 01.gif?
PowerShell: как добавить префикс ко всем файлам в каталоге?
Массовое переименование.jpeg to.формат JPG
Пакетное переименование фильмов с помощью Regex
Powershell: пакетное переименование и сохранение расширения?
добавить "текст" в конец нескольких имен файлов
Как массово переименовать нумерованные файлы? [дубликат]
Пакетное переименование всех файлов PNG в папках и подпапках
Facebook photos: пакетное переименование в полезные имена файлов [дубликат]
Пакетный файл переименовать случайным буквенно-цифровым
Как добавить префикс ко всем файлам и папкам в папке? (Windows)
Как я пакетного переименования файлов в Windows 10
Массовая замена ссылок, которые встраиваются в слова в ячейках Excel
Как удалить некоторые части имени файла для многих файлов в Windows 7 с помощью пакетного сценария? [дубликат]
Массовое переименование файлов в Bash с сохранением части имени файла

Массовая замена ссылок, которые встраиваются в слова в ячейках Excel

У меня есть огромный список слов, которые имеют ссылки. Все URL-адреса имеют текст, который повторяется. Я хочу массово заменить этот текст другим. Прямо сейчас" заменить все " выполняет поиск только между словами, а не через гиперссылки на слова.

пожалуйста, помогите. Благодаря.

5
задан Karolinger
источник

1 ответов

единственный способ сделать это с помощью макроса:

Public Sub ReplaceHyperlinkURL(FindString As String, ReplaceString As String)
Dim LinkURL, PreStr, PostStr, NewURL As String
Dim FindPos, ReplaceLen, URLLen As Integer
Dim MyDoc As Worksheet
Dim MyCell As Range
On Error GoTo ErrHandler

Set MyDoc = ActiveSheet
For Each MyCell In MyDoc.UsedRange
If MyCell.Hyperlinks.Count > 0 Then
 LinkURL = MyCell(1).Hyperlinks(1).Address
 FindPos = InStr(1, LinkURL, FindString)
 If FindPos > 0 Then 'If FindString is found
  ReplaceLen = Len(FindString)
  URLLen = Len(LinkURL)
  PreStr = Mid(LinkURL, 1, FindPos - 1)
  PostStr = Mid(LinkURL, FindPos + ReplaceLen, URLLen)
  NewURL = PreStr & ReplaceString & PostStr
  MyCell(1).Hyperlinks(1).Address = NewURL 'Change the URL
  End If
 End If
Next MyCell
Exit Sub
ErrHandler:
MsgBox ("ReplaceHyperlinkURL error")
End Sub

код ReplaceHyperlinkURL необходимо поместить в модуль кода VBA. В электронной таблице Нажмите Alt+F11, чтобы открыть редактор VBA. Затем выберите в меню Insert - Module. Скопируйте код и вставьте его в модуль. Затем сохраните модуль.

чтобы запустить процедуру, создайте макрос, содержащий следующую строку, и запустите макрос в Excel. Будьте уверены, чтобы заменить FindText с частью указанному вами адресу хотите найти и заменить текст на текст, которым вы хотите его заменить.

Звонок ReplaceHyperlinkURL("FindText", "Найденное")

источник

2
отвечен Moses 2013-10-11 04:58:18
источник