Acest tutorial VBA acoperă diferitele moduri de a lucra cu hyperlinkuri în VBA.
Hiperlinkuri VBA
Cu VBA, puteți adăuga hyperlinkuri, eliminați hyperlink-uri, puteți crea e-mailuri folosind hyperlinkuri și puteți deschide fișiere folosind hyperlinkuri în VBA.
Adăugați un hyperlink cu VBA
Metoda Hyperlinks.Add adaugă un hyperlink la o celulă folosind VBA.
Următorul cod va adăuga un hyperlink la celula A1:
123 | Sub AddHyperlinkToCell ()ActiveSheet.Hyperlinks.Add Range ("A1"), Adresă: = "https://www.automateexcel.com/excel/"Sfârșitul Sub |
Rezultatul este:
Adăugarea de text pentru afișare cu VBA
Puteți adăuga un text ușor de utilizat pentru a fi afișat în hyperlinkul dvs. cu VBA. Dacă ați utilizat funcționalitatea foii de lucru, ați insera un hyperlink și apoi adăugați un text pentru a fi afișat în caseta de dialog furnizată.
Codul de mai jos arată cum să adăugați text pentru a fi afișat la hyperlinkul dvs. utilizând VBA:
123 | Sub TextToDisplayForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Adresă: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automatizează Excel"Sfârșitul Sub |
Rezultatul este:
Adăugarea unui ScreenTip cu VBA
Puteți adăuga un sfat de ecran la hyperlinkul dvs., pe care vizualizatorul îl va vedea când trece peste link.
Codul de mai jos arată cum să adăugați un ScreenTip la hyperlinkul dvs. folosind VBA:
123 | Sub ScreenTipForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Adresă: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automate Excel", ScreenTip: = "Acesta este linkul pentru Automate Excel"Sfârșitul Sub |
Rezultatul este:
Ștergeți un hyperlink cu VBA
Metoda Hyperlinks.Delete poate fi utilizată pentru a șterge un hyperlink dintr-o celulă.
Următorul cod va șterge hyperlinkul din celula A1 și textul din celulă.
Rețineți că doar ștergerea hyperlinkului nu șterge textul în sine, de aceea, dacă doriți ca textul să fie șters, trebuie să utilizați și metoda Clear.
1234 | Sub DeleteHyperlinkinCell ()Gama („A1”). Hyperlinkuri. ȘtergețiGama („A1”). ȘtergețiSfârșitul Sub |
Ștergeți toate hyperlinkurile dintr-o foaie de lucru
De asemenea, puteți șterge toate hyperlinkurile din foaia dvs. de lucru folosind metoda Hyperlinks.Delete.
Următorul cod va șterge toate hyperlinkurile din prima foaie de lucru din registrul dvs. de lucru:
123 | Sub RemoveAllHyperlinksInASheet ()ThisWorkbook.Sheets (1) .Hyperlinks.EleteSfârșitul Sub |
Urmați un hyperlink de site folosind VBA
Următorul cod vă permite să deschideți o adresă a site-ului web, într-o fereastră nouă din browser, utilizând metoda FollowHyperlink din registrul de lucru:
123 | Sub FollowHyperlinkForWebsite ()ActiveWorkbook.FollowHyperlink Address: = "https://www.automateexcel.com/excel", NewWindow: = TrueSfârșitul Sub |
Urmați un hyperlink către un folder de pe unitatea dvs.
Următorul cod va deschide un folder numit ExcelFiles pe desktop utilizând metoda FollowHyperlink:
123 | Sub FollowHyperlinkForFolderOnDrive ()ActiveWorkbook.FollowHyperlink Adresă: = "C: \ Desktop \ ExcelFiles"Sfârșitul Sub |
Urmați un hyperlink către un fișier de pe unitatea dvs.
Următorul cod va deschide un fișier Excel numit WorkbookOne în folderul numit ExcelFiles de pe desktop utilizând metoda FollowHyperlink:
123 | Sub FollowHyperlinkForFile ()ActiveWorkbook.FollowHyperlink Address: = "C: \ Desktop \ ExcelFiles \ WorkbookOne.xlsx", NewWindow: = TrueSfârșitul Sub |
Accesați o celulă dintr-o altă foaie din același registru de lucru
Puteți adăuga un hyperlink la o celulă dintr-o foaie care vă duce la o altă foaie, în același registru de lucru cu VBA. Să presupunem că sunteți pe Sheet1, celula A1 din registrul dvs. de lucru și doriți să inserați un hyperlink către Sheet2, celula B2 din același registru de lucru, puteți utiliza proprietatea SubAddress pentru a face acest lucru.
Următorul cod arată cum se face acest lucru:
123 | Sub GoToAnotherCellInAnotherSheetInTheSameWorkbook ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "", SubAddress: = "'" & Sheet2.Name & "'! B2", TextToDisplay: = "Faceți clic aici pentru a merge la Sheet2, celula B2 a același registru de lucru "Sfârșitul Sub |
Afișați toate hyperlinkurile într-o foaie de lucru
Puteți accesa colecția de hyperlinkuri și puteți afișa toate hyperlinkurile în foaia dvs. de lucru în Fereastra intermediară în Editorul VBA. Mai întâi trebuie să apăsați CTRL + G de pe tastatură sau accesați Vizualizare> Fereastra intermediară în Editorul VBE, pentru a vizualiza fereastra intermediară.
Următorul cod arată cum să vizualizați hyperlinkurile din foaia dvs. de lucru în fereastra intermediară:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorksheet ()Dim ws Ca foaie de lucruSet ws = ThisWorkbook.Sheets (1)Pentru fiecare lnk In ws.HyperlinkuriDebug.Print lnk.AddressUrmătorul lnkSfârșitul Sub |
Rezultatele sunt afișate în fereastra intermediară.
Afișați toate hyperlinkurile dintr-un registru de lucru
Puteți accesa colecția de hyperlinkuri, pentru a vizualiza și afișa toate hyperlinkurile din registrul dvs. de lucru într-o casetă de mesaje.
Următorul cod arată cum se face acest lucru și folosește o buclă imbricată pentru a realiza acest lucru:
1234567891011 | Sub ShowAllTheHyperlinks InTheWorkbook ()Dim ws Ca foaie de lucruPentru fiecare ws din ActiveWorkbook.WorksheetsPentru fiecare lnk In ws.HyperlinkuriMsgBox lnk.AdressUrmătorul lnkUrmătorul wsSfârșitul Sub |
Folosind metoda FollowHyperlink pentru a crea e-mailuri
De asemenea, puteți crea e-mailuri utilizând metoda FollowHyperlink.
Codul de mai jos vă va arăta cum să creați e-mailuri utilizând metoda FollowHyperlink în VBA:
12345678 | Sub SendEmailUsingHyperlink ()Dim msgLink As StringmsgLink = "mailto:" & "[email protected]" & "?" & "subject =" & "Hello" & "&" & "body =" & "Ce mai faci?"ActiveWorkbook.FollowHyperlink (msgLink)Sfârșitul Sub |
Rezultatul este:
Adăugarea unui hyperlink la o formă automată în Excel
Puteți adăuga un hyperlink la o Autoshape în Excel, astfel încât atunci când utilizatorul dă clic pe formă să fie dus la adresa site-ului web.
Următorul cod creează un dreptunghi rotunjit, adaugă textul dreptunghiului și adaugă un hyperlink la dreptunghi:
12345678910111213 | Sub AddingAHyperlinkToAShape ()Dim myShape As ShapeSet myDocument = Worksheets („Sheet1”)Setați myShape = myDocument.Shapes.AddShape (msoShapeRoundedRectangle, 100, 100, 90, 30)Cu myShape.TextFrame.Characters.Text = "Automatizează Excel"Se termina cuActiveSheet.Hyperlinks.Add Anchor: = myShape, Address: = "https://www.automateexcel.com/excel"Sfârșitul Sub |
Rezultatul este:
Introducerea formulei de hyperlink într-o celulă folosind VBA
Să presupunem că aveți un titlu de postare în celula A4 și un link de postare în celula B4 așa cum se arată în imaginea de mai jos.
Un memento rapid al sintaxei formulei de hyperlink a foaiei de lucru este:
HYPERLINK (link_location, [friendly_name])
link_location - Acesta este linkul către document, fișier, loc în registrul de lucru sau pe site-ul online.
nume prietenos - (Opțional) - Textul sau valoarea numerică afișată în celulă.
În celula C4, doriți să adăugați hyperlinkul cu un text prietenos de afișat, acum, de obicei, ați introduce formula = HYPERLINK (B4, A4) în C4 pentru a obține următoarele:
În schimb, puteți utiliza VBA pentru a obține același rezultat și puteți insera această formulă în celulă, pe Sheet1 cu următorul cod:
123 | Sub InsertHyperlinkFormulaInCell ()ActiveWorkbook.Worksheets ("Sheet1"). Range ("C4"). Formula = "= hyperlink (B4, A4)"Sfârșitul Sub |
Adăugarea unui hyperlink la un buton din Access
VBA vă permite să lucrați și cu hyperlinkuri în Access. Să presupunem că avem un buton pe un formular și când utilizatorul face clic pe butonul respectiv, dorim ca acestea să fie duse la un site web. O modalitate prin care puteți utiliza acest lucru este prin metoda Application.FollowHyperlink.
Avem formularul de eșantionare cu un buton numit buttonOne prezentat mai jos.
Codul pentru acest buton ar fi:
12345 | Buton Sub privat One_Click ()Application.FollowHyperlink („https://www.automateexcel.com/excel/”)Sfârșitul Sub |
Crearea unui hyperlink dintr-o selecție în Word
Puteți lucra și cu hyperlinkuri în Word VBA.
Să presupunem că avem text Cuvânt care spune „Faceți clic aici pentru a fi dus la site-ul web automatizat Excel”, care este selectat așa cum se arată mai jos.
Pentru a transforma acest text într-un hyperlink folosind VBA, puteți utiliza următorul cod:
123 | Private Sub TurnASelectionIntoAHyperlink ()ActiveDocument.Hyperlinks.Add Anchor: = Selection.Range, Address: = "https://www.automateexcel.com/excel/", ScreenTip: = "Click Here Please", Target: = NewWindowSfârșitul Sub |
Rezultatul este: