Грэм — редактор, и одна из (довольно обычных) задач, с которыми он сталкивается, — удалить http: // из URL-адресов, начинающихся с http: // www. Грэм считает эту задачу простой, если URL-адрес — просто текст. Однако, если это гиперссылка, он должен отобразить диалоговое окно «Редактировать гиперссылку», выбрать http: // в поле «Текст для отображения», удалить его и закрыть диалоговое окно.

К счастью, вам не обязательно всегда открывать диалоговое окно «Редактировать гиперссылку» для внесения изменений. Даже если гиперссылка активна, вы можете найти и заменить информацию в том, что отображается. Например, поиск по http: // www и замена его на www будет работать нормально даже для активных гиперссылок. Word изменяет только отображаемый текст, а не саму гиперссылку.

Если у вас есть много-много гиперссылок для редактирования и такое усечение URL-адресов является обычной задачей, вы можете использовать макрос для решения этой проблемы. Вы можете разработать короткий макрос, который будет проходить по каждой гиперссылке в документе и удалять часть http: //. Ниже приводится пример:

Sub FixHyperlinks1()

Dim hyp As Hyperlink     Dim sLink As String

For Each hyp In ActiveDocument.Hyperlinks         sLink = hyp.Address         sLink = replace(strLink, "http://", "")

hyp.Address = sLink     Next hyp End Sub

Однако этот подход, вероятно, не настолько всеобъемлющий, как вам хотелось бы. Это влияет только на активные гиперссылки; это не влияет на URL-адреса в виде обычного текста в вашем документе. Если вы хотите использовать более комплексный подход, вам нужно что-то, что избавит от всех гиперссылок (возможно, они вам вообще не понадобятся в документе), а затем избавится от части http: //. Вот один из них:

Sub FixHyperlinks2()

'Remove hyperlinks     With ActiveDocument         While .Hyperlinks.Count > 0             .Hyperlinks(1).Delete         Wend     End With

'Remove http://     Selection.Find.ClearFormatting     Selection.Find.Replacement.ClearFormatting     With Selection.Find         .Text = "http://www"

.Replacement.Text = "www"

.Forward = True         .Wrap = wdFindContinue      End With     Selection.Find.Execute Replace:=wdReplaceAll End Sub

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (13147) применим к Microsoft Word 2007, 2010, 2013, 2016, 2019 и Word в Office 365. Вы можете найти версию этого совета для старый интерфейс меню Word здесь:

link: / word-Removing_HTTP_from_URLs [Удаление HTTP из URL-адресов].