Гиперссылки VBA

Содержание

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

Гиперссылки VBA

С помощью VBA вы можете добавлять гиперссылки, удалять гиперссылки, создавать электронные письма с использованием гиперссылок и открывать файлы с помощью гиперссылок в VBA.

Добавить гиперссылку с VBA

Метод Hyperlinks.Add добавляет гиперссылку в ячейку с помощью VBA.

Следующий код добавит гиперссылку в ячейку A1:

123 Подложка AddHyperlinkToCell ()ActiveSheet.Hyperlinks.Add Range ("A1"), адрес: = "https://www.automateexcel.com/excel/"Конец подписки

Результат:

Добавление текста для отображения с помощью VBA

Вы можете добавить аккуратный удобный текст для отображения в гиперссылке с помощью VBA. Если вы использовали функциональные возможности рабочего листа, вы бы вставили гиперссылку, а затем добавили текст для отображения в предоставленном диалоговом окне.

В приведенном ниже коде показано, как добавить текст для отображения в гиперссылку с помощью VBA:

123 Подложка TextToDisplayForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automate Excel"Конец подписки

Результат:

Добавление всплывающей подсказки с помощью VBA

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

В приведенном ниже коде показано, как добавить всплывающую подсказку к гиперссылке с помощью VBA:

123 Подсказка для гиперссылки ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automate Excel", ScreenTip: = "Это ссылка для Automate Excel"Конец подписки

Результат:

Удалить гиперссылку с помощью VBA

Метод Hyperlinks.Delete можно использовать для удаления гиперссылки из ячейки.

Следующий код удалит гиперссылку из ячейки A1 и текст в ячейке.

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

1234 Sub DeleteHyperlinkinCell ()Диапазон ("A1"). Гиперссылки. УдалитьДиапазон ("A1"). ОчиститьКонец подписки

Удалить все гиперссылки на листе

Вы также можете удалить все гиперссылки на листе с помощью метода Hyperlinks.Delete.

Следующий код удалит все гиперссылки на первом листе вашей книги:

123 Sub RemoveAllHyperlinksInASheet ()ThisWorkbook.Sheets (1) .Hyperlinks.DeleteКонец подписки

Переход по гиперссылке на веб-сайт с помощью VBA

Следующий код позволяет вам открыть адрес веб-сайта в новом окне браузера с помощью метода FollowHyperlink в вашей книге:

123 Sub FollowHyperlinkForWebsite ()ActiveWorkbook.FollowHyperlink Address: = "https://www.automateexcel.com/excel", NewWindow: = TrueКонец подписки

Переход по гиперссылке на папку на вашем диске

Следующий код откроет папку ExcelFiles на рабочем столе с помощью метода FollowHyperlink:

123 Подписка FollowHyperlinkForFolderOnDrive ()ActiveWorkbook.FollowHyperlink Адрес: = "C: \ Desktop \ ExcelFiles"Конец подписки

Переход по гиперссылке на файл на вашем диске

Следующий код откроет файл Excel с именем WorkbookOne в папке ExcelFiles на рабочем столе с помощью метода FollowHyperlink:

123 Подписка FollowHyperlinkForFile ()ActiveWorkbook.FollowHyperlink Адрес: = "C: \ Desktop \ ExcelFiles \ WorkbookOne.xlsx", NewWindow: = TrueКонец подписки

Перейти к ячейке на другом листе той же книги

Вы можете добавить гиперссылку на ячейку на одном листе, которая переводит вас на другой лист в той же книге с VBA. Допустим, вы находитесь на Sheet1, ячейке A1 вашей книги, и вы хотите вставить гиперссылку на Sheet2, ячейку B2 той же книги, вы можете использовать для этого свойство SubAddress.

Следующий код демонстрирует, как это сделать:

123 Sub GoToAnotherCellInAnotherSheetInTheSameWorkbook ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "", SubAddress: = "'" & Sheet2.Name & "'! B2", TextToDisplay: = "Щелкните здесь, чтобы перейти к Sheet2, ячейке B2 та же рабочая тетрадь "Конец подписки

Отображение всех гиперссылок на листе

Вы можете получить доступ к коллекции гиперссылок и отобразить все гиперссылки на вашем листе в Промежуточное окно в редакторе VBA. Вы должны сначала нажать CTRL + G на клавиатуре или перейдите в Вид> Промежуточное окно в редакторе VBE, чтобы просмотреть промежуточное окно.

В следующем коде показано, как просматривать гиперссылки на листе в промежуточном окне:

1234567891011 Подложка ShowAllTheHyperlinksInTheWorksheet ()Dim ws как рабочий листУстановить ws = ThisWorkbook.Sheets (1)Для каждой ссылки в ws.HyperlinksDebug.Print lnk.AddressСледующий линкКонец подписки

Результаты отображаются в промежуточном окне.

Отображение всех гиперссылок в книге

Вы можете получить доступ к коллекции гиперссылок, чтобы просмотреть и отобразить все гиперссылки в вашей книге в окне сообщения.

В следующем коде показано, как это сделать, и для этого используется вложенный цикл:

1234567891011 Подложка ShowAllTheHyperlinksInTheWorkbook ()Dim ws как рабочий листДля каждой страницы в ActiveWorkbook.WorksheetsДля каждой ссылки в ws.HyperlinksMsgBox lnk.AddressСледующий линкСледующий wsКонец подписки

Использование метода FollowHyperlink для создания писем

Вы также можете создавать электронные письма с помощью метода FollowHyperlink.

В приведенном ниже коде показано, как создавать электронные письма с помощью метода FollowHyperlink в VBA:

12345678 Sub SendEmailUsingHyperlink ()Dim msgLink As StringmsgLink = "mailto:" & "[email protected]" & "?" & "subject =" & "Hello" & "&" & "body =" & "Как дела?"ActiveWorkbook.FollowHyperlink (msgLink)Конец подписки

Результат:

Добавление гиперссылки к автофигуре в Excel

Вы можете добавить гиперссылку на автофигуру в Excel, чтобы, когда пользователь нажимает на форму, он переходил на адрес веб-сайта.

Следующий код создает прямоугольник с закругленными углами, добавляет текст в прямоугольник и добавляет гиперссылку к прямоугольнику:

12345678910111213 Sub AddingAHyperlinkToAShape ()Dim myShape As ShapeУстановить myDocument = Worksheets ("Sheet1")Установите myShape = myDocument.Shapes.AddShape (msoShapeRoundedRectangle, 100, 100, 90, 30)С myShape.TextFrame.Characters.Text = "Автоматизировать Excel"Конец сActiveSheet.Hyperlinks.Add Anchor: = myShape, Address: = "https://www.automateexcel.com/excel"Конец подписки

Результат:

Вставка формулы гиперссылки в ячейку с помощью VBA

Допустим, у вас есть заголовок сообщения в ячейке A4 и ссылка на сообщение в ячейке B4, как показано на изображении ниже.

Краткое напоминание о синтаксисе формулы гиперссылки на листе:

ГИПЕРССЫЛКА (расположение_ссылки, [дружественное_имя])

link_location - это ссылка на документ, файл, место в книге или на сайте.

Дружественное имя - (По желанию) - текстовое или числовое значение, отображаемое в ячейке.

В ячейку C4 вы хотите добавить гиперссылку с понятным текстом для отображения, теперь обычно вы вводите формулу = ГИПЕРССЫЛКА (B4, A4) в C4, чтобы получить следующее:

Вместо этого вы можете использовать VBA для достижения того же результата и вставить эту формулу в ячейку на Sheet1 со следующим кодом:

123 Подложка InsertHyperlinkFormulaInCell ()ActiveWorkbook.Worksheets ("Sheet1"). Range ("C4"). Formula = "= hyperlink (B4, A4)"Конец подписки

Добавление гиперссылки к кнопке в Access

VBA также позволяет работать с гиперссылками в Access. Допустим, у нас есть кнопка в форме, и когда пользователь нажимает на нее, мы хотим, чтобы он перешел на веб-сайт. Один из способов сделать это - использовать метод Application.FollowHyperlink.

У нас есть образец формы с кнопкой buttonOne, показанной ниже.

Код для этой кнопки будет:

12345 Кнопка Private SubOne_Click ()Application.FollowHyperlink («https://www.automateexcel.com/excel/»)Конец подписки

Создание гиперссылки из выделения в Word

Вы также можете работать с гиперссылками в Word VBA.
Допустим, у нас есть текст в Слово с надписью «Щелкните здесь, чтобы перейти на веб-сайт автоматизации Excel», который выбран, как показано ниже.

Чтобы превратить этот текст в гиперссылку с помощью VBA, вы можете использовать следующий код:

123 Частный Sub TurnASelectionIntoAHyperlink ()ActiveDocument.Hyperlinks.Add Anchor: = Selection.Range, Address: = "https://www.automateexcel.com/excel/", ScreenTip: = "Щелкните здесь, пожалуйста", Target: = NewWindowКонец подписки

Результат:

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave