Изменение частей многих гиперссылок (Microsoft Excel)
У Kerstine есть рабочий лист со множеством разных гиперссылок. Ей интересно, есть ли способ заменить только часть каждой ссылки.
Например, она может захотеть изменить любой экземпляр http://www.mysite.com/ на c: / documents / mycopy /. Если в ссылках есть что-то еще, то эту часть следует оставить. Так, например, если исходная ссылка http://www.mysite.com/thispage.html, она будет изменена на c: /documents/mycopy/thispage.html.
Это легко сделать с помощью макроса. Причина в том, что гиперссылки можно просматривать и изменять с помощью обычных строковых функций.
Следующий макрос предоставляет простой способ решения проблемы.
Sub EditHyperlinks() Dim lnkH As Hyperlink Dim sOld As String Dim sNew As String sOld = "http://www.mysite.com" sNew = "c:/documents/mycopy/" For Each lnkH In ActiveSheet.Hyperlinks lnkH.Address = Replace(lnkH.Address, sOld, sNew) lnkH.TextToDisplay = Replace(lnkH.TextToDisplay, sOld, sNew) Next End Sub
Эта процедура проходит через все гиперссылки в текущем листе и при необходимости вносит изменения в каждую из них. И гиперссылка, и отображаемый текст изменяются соответствующим образом. Все, что вам нужно сделать, это внести изменения в строки sOld и sNew, чтобы указать, что вы ищете и чем хотите его заменить.
Обратите внимание, что этот макрос использует функцию Replace, которая встроена в более поздние версии VBA. Если вы используете старую версию, которая не включает функцию замены (вы будете знать, потому что вы получите сообщение об ошибке при попытке повернуть макрос), тогда вам нужно будет создать свою собственную функцию замены, которая заменяет одну часть строка с другим. Такие функции описаны в других выпусках ExcelTips.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (3358) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:
link: / excelribbon-Changing_Portions_of_Many_Hyperlinks [Изменение частей многих гиперссылок]
.