Открытие сайта методом Workbook.FollowHyperlink с помощью кода VBA Excel. Сокращенный синтаксис метода, примеры использования.
Метод Workbook.FollowHyperlink
Метод Workbook.FollowHyperlink предназначен для более широкого использования в VBA Excel, чем просто открытие сайтов. С полным описанием и всеми параметрами метода вы можете ознакомиться на сайте разработчика.
В этой же статье мы рассмотрим сокращенный синтаксис метода Workbook.FollowHyperlink с одним аргументом: адрес сайта.
Сокращенный синтаксис метода
Сокращенный синтаксис метода Workbook.FollowHyperlink представлен в VBA Excel двумя равнозначными вариантами:
1 |
ThisWorkbook.FollowHyperlink Address:="http://imya-sayta.ru/" |
Вариант 2
1 |
ThisWorkbook.FollowHyperlink ("http://imya-sayta.ru/") |
1. Для сайтов на защищенном протоколе «https» можно указывать протокол «http», так как у защищенных сайтов есть переадресация с «http» на «https».
2. Если сайт по указанному адресу не существует, будет сгенерирована ошибка.
Примеры использования
Пример 1
Открытие сайта нажатием элемента управления Label на пользовательской форме VBA Excel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
'Записываем адрес сайта 'в заголовок метки Label1 Private Sub UserForm_Initialize() With Label1 .Caption = "http://imya-sayta.ru/" .Font.Size = 10 .Font.Underline = True End With End Sub 'Переходим по гиперссылке 'при нажатии на метку Label1 Private Sub Label1_Click() On Error Resume Next ThisWorkbook.FollowHyperlink _ Address:=Label1.Caption End Sub |
Выражение On Error Resume Next
необходимо, чтобы корректно завершить процедуру при возникновении ошибки, когда указанный сайт не существует. Если хотите вывести сообщение об ошибке, используйте простой обработчик ошибок с оператором On Error GoTo
.
Пример 2
Пример выбора сайта с помощью элемента управления ComboBox с автоматическим открытием гиперссылки и обработчиком ошибок:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
'Записываем адреса сайтов 'в комбинированный список Private Sub UserForm_Initialize() With ComboBox1 .AddItem "http://sayt-1.ru/" .AddItem "http://sayt-2.ru/" .AddItem "http://sayt-3.ru/" .AddItem "http://sayt-4.ru/" .AddItem "http://sayt-5.ru/" End With End Sub 'Переходим по гиперссылке 'при выборе сайта в списке Private Sub ComboBox1_Change() On Error GoTo Stroka ThisWorkbook.FollowHyperlink _ Address:=ComboBox1.Value Exit Sub Stroka: If Err.Description <> "" Then MsgBox "Произошла ошибка: " _ & Err.Description End If End Sub |
Так как в списке из примера перечислены несуществующие сайты, при выборе одного из них, обработчик ошибок выведет следующее сообщение:
В Excel 2007 не работает
Не исключаю такую возможность, так как примеры тестировались в Excel 2016.
Обсуждение закрыто.