Цей підручник VBA охоплює різні способи роботи з гіперпосиланнями у VBA.
Гіперпосилання VBA
За допомогою VBA ви можете додавати гіперпосилання, видаляти гіперпосилання, створювати електронні листи за допомогою гіперпосилань та відкривати файли за допомогою гіперпосилань у VBA.
Додайте гіперпосилання з VBA
Метод Hyperlinks.Add додає гіперпосилання до комірки за допомогою VBA.
Наступний код додасть гіперпосилання до комірки А1:
123 | Sub AddHyperlinkToCell ()ActiveSheet.Hyperlinks.Add Range ("A1"), Адреса: = "https://www.automateexcel.com/excel/"End Sub |
Результат такий:
Додавання тексту до дисплея за допомогою VBA
Ви можете додати акуратний зручний для відображення текст для відображення у своєму гіперпосиланні за допомогою VBA. Якщо ви використовували функціонал аркуша, ви б вставили гіперпосилання, а потім додали текст для відображення у наданому діалоговому вікні.
Код нижче демонструє, як додати текст для відображення до вашого гіперпосилання за допомогою VBA:
123 | ПідтекстToDisplayForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Адреса: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Автоматизувати Excel"End Sub |
Результат такий:
Додавання підказки до екрана з VBA
Ви можете додати підказку до свого гіперпосилання, яку глядач побачить, коли наведе курсор на посилання.
У наведеному нижче коді показано, як додати підказку до свого гіперпосилання за допомогою VBA:
123 | Sub ScreenTipForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Адреса: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Автоматизувати Excel", ScreenTip: = "Це посилання для автоматизації Excel"End Sub |
Результат такий:
Видалити гіперпосилання за допомогою VBA
Метод Hyperlinks.Delete можна використовувати для видалення гіперпосилання з комірки.
Наступний код видалить гіперпосилання з комірки A1 та текст у комірці.
Зауважте, що просто видалення гіперпосилання не видаляє сам текст, тому якщо ви хочете видалити текст, вам також доведеться скористатися методом Очистити.
1234 | Sub DeleteHyperlinkinCell ()Діапазон ("A1"). Гіперпосилання. ВидалитиДіапазон ("A1"). ОчиститиEnd Sub |
Видаліть усі гіперпосилання на аркуші
Ви також можете видалити всі гіперпосилання на своєму аркуші за допомогою методу Hyperlinks.Delete.
Наступний код видалить усі гіперпосилання на першому аркуші у вашій книзі:
123 | Sub RemoveAllHyperlinksInASheet ()ThisWorkbook.Sheets (1) .Hyperlinks.DeleteEnd Sub |
Слідкуйте за гіперпосиланням веб -сайту за допомогою VBA
Наступний код дозволяє відкрити адресу веб -сайту в новому вікні у вашому браузері за допомогою методу FollowHyperlink у вашій книзі:
123 | Sub FollowHyperlinkForWebsite ()Адреса ActiveWorkbook.FollowHyperlink: = "https://www.automateexcel.com/excel", NewWindow: = ПравдаEnd Sub |
Перейдіть за гіперпосиланням до папки на диску
Наступний код відкриє папку ExcelFiles на робочому столі за допомогою методу FollowHyperlink:
123 | Sub FollowHyperlinkForFolderOnDrive ()Адреса ActiveWorkbook.FollowHyperlink: = "C: \ Desktop \ ExcelFiles"End Sub |
Перейдіть за гіперпосиланням на файл на диску
Наступний код відкриє файл Excel під назвою WorkbookOne у папці ExcelFiles на робочому столі за допомогою методу FollowHyperlink:
123 | Sub FollowHyperlinkForFile ()Адреса ActiveWorkbook.FollowHyperlink: = "C: \ Desktop \ ExcelFiles \ WorkbookOne.xlsx", NewWindow: = TrueEnd Sub |
Перейдіть до клітинки на іншому аркуші тієї самої книги
Ви можете додати гіперпосилання до комірки на одному аркуші, який перенесе вас на інший аркуш, у тій самій книзі з VBA. Скажімо, ви знаходитесь у Sheet1, клітині A1 вашої книги, і хочете вставити гіперпосилання на Sheet2, клітинку B2 тієї самої книги, для цього можна використовувати властивість SubAddress.
Наступний код демонструє, як це зробити:
123 | Sub GoToAnotherCellInAnotherSheetInTheSameWorkbook ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "", SubAddress: = "'" & Sheet2.Name & "'! B2", TextToDisplay: = "Натисніть тут, щоб перейти до Sheet2, клітинка B2 та сама книга "End Sub |
Відобразити всі гіперпосилання на робочому аркуші
Ви можете отримати доступ до колекції гіперпосилань та відобразити всі гіперпосилання на своєму аркуші в Проміжне вікно у редакторі VBA. Спочатку потрібно натиснути CTRL+G на клавіатурі або перейдіть до Перегляд> Проміжне вікно у редакторі VBE, щоб переглянути проміжне вікно.
Наступний код показує, як переглянути гіперпосилання на вашому аркуші у проміжному вікні:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorksheet ()Затемнити як робочий аркушВстановити ws = ThisWorkbook.Sheets (1)Для кожного lnk В ws.ГіперпосиланняНалагодження.Надрукувати lnk.адресДалі lnkEnd Sub |
Результати відображаються у проміжному вікні.
Відображення всіх гіперпосилань у робочій книзі
Ви можете отримати доступ до колекції гіперпосилань, прокрутити та відобразити всі гіперпосилання у вашій книзі у вікні повідомлень.
Наступний код показує, як це зробити, і використовує вкладений цикл для цього:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorkbook ()Затемнити як робочий аркушДля кожного ws В ActiveWorkbook.WorksheetsДля кожного lnk В ws.ГіперпосиланняMsgBox lnk. АдресаДалі lnkНаступний wsEnd Sub |
Використання методу FollowHyperlink для створення електронних листів
Ви також можете створювати електронні листи за допомогою методу FollowHyperlink.
Код нижче покаже вам, як створювати електронні листи за допомогою методу FollowHyperlink у VBA:
12345678 | Sub SendEmailUsingHyperlink ()Затемнити msgLink як рядокmsgLink = "mailto:" & "[email protected]" & "?" & "subject =" & "Привіт" & "&" & "body =" & "Як справи?"ActiveWorkbook.FollowHyperlink (msgLink)End Sub |
Результат такий:
Додавання гіперпосилання до автофігури в Excel
Ви можете додати гіперпосилання до автоматичної форми в Excel, щоб користувач, натиснувши на фігуру, потрапив на адресу веб -сайту.
Наступний код створює округлий прямокутник, додає текст до прямокутника та додає гіперпосилання до прямокутника:
12345678910111213 | Додаткове додаванняAHyperlinkToAShape ()Затемнити myShape як формуВстановити myDocument = Робочі аркуші ("Аркуш1")Встановити myShape = myDocument.Shapes.AddShape (msoShapeRoundedRectangle, 100, 100, 90, 30)За допомогою myShape.TextFrame.Characters.Text = "Автоматизувати Excel"Закінчити зActiveSheet.Hyperlinks.Add Anchor: = myShape, Адреса: = "https://www.automateexcel.com/excel"End Sub |
Результат такий:
Вставлення формули гіперпосилання в клітинку за допомогою VBA
Припустимо, у вас є заголовок до комірки А4 і посилання для публікації у комірці В4, як показано на зображенні нижче.
Коротко нагадуємо про синтаксис формули гіперпосилання аркуша:
HYPERLINK (розташування посилання, [дружнє_ім'я])
link_location - це посилання на документ, файл, місце у книзі або на веб -сайті.
дружнє_ім'я - (Необов’язково) - Текстове або числове значення, яке відображається у комірці.
У клітинці С4 ви хочете додати гіперпосилання з дружним текстом для відображення, тепер зазвичай ви повинні ввести формулу = HYPERLINK (В4, А4) у С4, щоб отримати наступне:
Натомість можна використати VBA для досягнення того самого результату та вставити цю формулу у клітинку на Sheet1 із таким кодом:
123 | Sub InsertHyperlinkFormulaInCell ()ActiveWorkbook.Worksheets ("Sheet1"). Діапазон ("C4"). Formula = "= гіперпосилання (B4, A4)"End Sub |
Додавання гіперпосилання до кнопки в Access
VBA також дозволяє працювати з гіперпосиланнями в Access. Скажімо, у нас є кнопка на формі, і коли користувач натискає цю кнопку, ми хочемо, щоб її перенесли на веб -сайт. Один із способів зробити це - через метод Application.FollowHyperlink.
У нас є наш зразок форми з кнопкою під назвою buttonOne показана нижче.
Код цієї кнопки буде таким:
12345 | Приватна кнопка підпискиOne_Click ()Application.FollowHyperlink ("https://www.automateexcel.com/excel/")End Sub |
Створення гіперпосилання з виділення в Word
Ви також можете працювати з гіперпосиланнями у Word VBA.
Скажімо, у нас є текст Слово з написом «Натисніть тут, щоб потрапити на автоматизацію веб -сайту Excel», який вибрано, як показано нижче.
Щоб перетворити цей текст у гіперпосилання за допомогою VBA, можна скористатися таким кодом:
123 | Private Sub TurnASelectionIntoAHyperlink ()ActiveDocument.Hyperlinks.Add Anchor: = Selection.Range, Address: = "https://www.automateexcel.com/excel/", ScreenTip: = "Натисніть тут, будь ласка", Target: = NewWindowEnd Sub |
Результат такий: