Този урок за VBA обхваща различните начини за работа с хипервръзки във VBA.
VBA хипервръзки
С VBA можете да добавяте хипервръзки, да премахвате хипервръзки, да създавате имейли с помощта на хипервръзки и да отваряте файлове с помощта на хипервръзки във VBA.
Добавете хипервръзка с VBA
Методът Hyperlinks.Add добавя хипервръзка към клетка, използваща VBA.
Следният код ще добави хипервръзка към клетка A1:
123 | Sub AddHyperlinkToCell ()ActiveSheet.Hyperlinks.Add Range ("A1"), Адрес: = "https://www.automateexcel.com/excel/"End Sub |
Резултатът е:
Добавяне на текст към дисплей с VBA
Можете да добавите чист удобен за потребителя текст, който да се показва към вашата хипервръзка с VBA. Ако сте използвали функционалността на работния лист, бихте вмъкнали хипервръзка и след това добавете текст за показване в предоставения диалогов прозорец.
Кодът по -долу демонстрира как да добавите текст за показване към вашата хипервръзка с помощта на VBA:
123 | Sub TextToDisplayForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Адрес: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Автоматизиране на Excel"End Sub |
Резултатът е:
Добавяне на ScreenTip с VBA
Можете да добавите ScreenTip към вашата хипервръзка, която зрителят ще види, когато задържи курсора на мишката върху връзката.
Кодът по -долу показва как да добавите ScreenTip към вашата хипервръзка с помощта на VBA:
123 | Sub ScreenTipForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automate Excel", ScreenTip: = "Това е връзката за Automate Excel"End Sub |
Резултатът е:
Изтрийте хипервръзка с VBA
Методът Hyperlinks.Delete може да се използва за изтриване на хипервръзка от клетка.
Следният код ще изтрие хипервръзката от клетка A1 и текста в клетката.
Имайте предвид, че само изтриването на хипервръзката не изтрива самия текст, затова, ако искате текстът да бъде изтрит, трябва да използвате и метода Clear.
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 Editor, за да видите междинния прозорец.
Следният код показва как да видите хипервръзките във вашия работен лист в междинния прозорец:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorksheet ()Затъмнете като работен листЗадайте ws = ThisWorkbook.Sheets (1)За всеки lnk В ws.HyperlinksОтстраняване на грешки. Отпечатайте lnk. АдресСледващ lnkEnd Sub |
Резултатите са показани в междинния прозорец.
Показване на всички хипервръзки в работна книга
Можете да получите достъп до колекцията от хипервръзки, да прегледате и покажете всички хипервръзки във вашата работна книга в поле за съобщения.
Следният код показва как се прави това и използва вложен цикъл, за да постигне това:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorkbook ()Затъмнете като работен листЗа всеки ws в ActiveWorkbook.WorksheetsЗа всеки lnk В ws.HyperlinksMsgBox lnk.AddressСледващ lnkСледващата wsEnd Sub |
Използване на метода FollowHyperlink за създаване на имейли
Можете също да създавате имейли, като използвате метода FollowHyperlink.
Кодът по -долу ще ви покаже как да създавате имейли, като използвате метода FollowHyperlink във VBA:
12345678 | Sub SendEmailUsingHyperlink ()Dim msgLink As StringmsgLink = "mailto:" & "[email protected]" & "?" & "subject =" & "Здравейте" & "&" & "body =" & "Как сте?"ActiveWorkbook.FollowHyperlink (msgLink)End Sub |
Резултатът е:
Добавяне на хипервръзка към AutoShape в Excel
Можете да добавите хипервръзка към Autoshape в Excel, така че когато потребителят кликне върху формата, той ще бъде отведен до адрес на уебсайт.
Следният код създава заоблен правоъгълник, добавя текста към правоъгълника и добавя хипервръзка към правоъгълника:
12345678910111213 | Допълнително добавянеAHyperlinkToAShape ()Затъмнете myShape като формаЗадайте myDocument = Работни листове ("Sheet1")Задайте 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, [friendly_name])
link_location - Това е връзката към документа, файла, мястото в работната книга или онлайн сайта.
приятелско име - (По избор) - Текстовата или числовата стойност, която се показва в клетката.
В клетка C4 искате да добавите хипервръзка с приятелски текст за показване, сега обикновено бихте въвели формулата = HYPERLINK (B4, A4) в C4, за да получите следното:
Вместо това можете да използвате VBA за постигане на същия резултат и да вмъкнете тази формула в клетката, на Sheet1 със следния код:
123 | Sub InsertHyperlinkFormulaInCell ()ActiveWorkbook.Worksheets ("Sheet1"). Range ("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.
Да кажем, че имаме текст Word с надпис „Щракнете тук, за да бъдете отведени до автоматизирания уебсайт на Excel“, който е избран, както е показано по -долу.
За да превърнете този текст в хипервръзка с помощта на VBA, можете да използвате следния код:
123 | Private Sub TurnAS SelectionIntoAHyperlink ()ActiveDocument.Hyperlinks.Add Anchor: = Selection.Range, Address: = "https://www.automateexcel.com/excel/", ScreenTip: = "Щракнете тук, моля", Target: = NewWindowEnd Sub |
Резултатът е: