Denna VBA -handledning täcker de olika sätten att arbeta med hyperlänkar i VBA.
VBA -hyperlänkar
Med VBA kan du lägga till hyperlänkar, ta bort hyperlänkar, skapa e -postmeddelanden med hjälp av hyperlänkar och öppna filer med hjälp av hyperlänkar i VBA.
Lägg till en hyperlänk med VBA
Hyperlinks.Add -metoden lägger till en hyperlänk till en cell med VBA.
Följande kod kommer att lägga till en hyperlänk till cell A1:
123 | Sub AddHyperlinkToCell ()ActiveSheet.Hyperlinks.Add Range ("A1"), Adress: = "https://www.automateexcel.com/excel/"Avsluta Sub |
Resultatet är:
Lägga till text i displayen med VBA
Du kan lägga till snygg användarvänlig text för att visa till din hyperlänk med VBA. Om du använde kalkylbladets funktionalitet skulle du infoga en hyperlänk och sedan lägga till en text som ska visas i den medföljande dialogrutan.
Koden nedan visar hur du lägger till text för att visa till din hyperlänk med VBA:
123 | Sub TextToDisplayForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Adress: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automatisera Excel"Avsluta Sub |
Resultatet är:
Lägga till ett ScreenTip med VBA
Du kan lägga till ett skärmtips till din hyperlänk som tittaren kommer att se när de håller muspekaren över länken.
Koden nedan visar hur du lägger till ett ScreenTip till din hyperlänk med VBA:
123 | Sub ScreenTipForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Adress: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automatisera Excel", ScreenTip: = "Detta är länken för Automate Excel"Avsluta Sub |
Resultatet är:
Ta bort en hyperlänk med VBA
Hyperlinks.Delete -metoden kan användas för att ta bort en hyperlänk från en cell.
Följande kod tar bort hyperlänken från cell A1 och texten i cellen.
Observera att bara radering av hyperlänken inte tar bort själva texten. Därför måste du också använda Clear -metoden om du vill att texten ska raderas.
1234 | Sub DeleteHyperlinkinCell ()Område ("A1"). Hyperlänkar. RaderaOmråde ("A1"). TydligtAvsluta Sub |
Ta bort alla hyperlänkar i ett kalkylblad
Du kan också ta bort alla hyperlänkar i ditt kalkylblad med Hyperlinks.Delete -metoden.
Följande kod tar bort alla hyperlänkar i det första kalkylbladet i din arbetsbok:
123 | Sub RemoveAllHyperlinksInASheet ()ThisWorkbook.Sheets (1) .Hyperlinks.DeleteAvsluta Sub |
Följ en webbplatslänk med hjälp av VBA
Följande kod låter dig öppna en webbadress i ett nytt fönster i din webbläsare med hjälp av FollowHyperlink -metoden i din arbetsbok:
123 | Sub FollowHyperlinkForWebsite ()ActiveWorkbook.FollowHyperlink Address: = "https://www.automateexcel.com/excel", NewWindow: = TrueAvsluta Sub |
Följ en hyperlänk till en mapp på din enhet
Följande kod öppnar en mapp som heter ExcelFiles på skrivbordet med hjälp av FollowHyperlink -metoden:
123 | Sub FollowHyperlinkForFolderOnDrive ()ActiveWorkbook.FollowHyperlink Address: = "C: \ Desktop \ ExcelFiles"Avsluta Sub |
Följ en hyperlänk till en fil på din enhet
Följande kod öppnar en Excel -fil som heter WorkbookOne i mappen ExcelFiles på skrivbordet med FollowHyperlink -metoden:
123 | Sub FollowHyperlinkForFile ()ActiveWorkbook.FollowHyperlink Address: = "C: \ Desktop \ ExcelFiles \ WorkbookOne.xlsx", NewWindow: = TrueAvsluta Sub |
Gå till en cell i ett annat blad i samma arbetsbok
Du kan lägga till en hyperlänk till en cell i ett ark som tar dig till ett annat blad, i samma arbetsbok med VBA. Låt oss säga att du är på Sheet1, cell A1 i din arbetsbok och du vill infoga en hyperlänk till Sheet2, cell B2 i samma arbetsbok, du kan använda egenskapen SubAddress för att göra detta.
Följande kod visar hur du gör detta:
123 | Sub GoToAnotherCellInAnotherSheetInTheSameWorkbook ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "", SubAddress: = "'" & Sheet2.Name & "'! B2", TextToDisplay: = "Klicka här för att gå till Sheet2, cell B2 i samma arbetsbok "Avsluta Sub |
Visa alla hyperlänkar i ett kalkylblad
Du kan komma åt hyperlänksamlingen och visa alla hyperlänkar i ditt kalkylblad i Mellanfönster i VBA -redigeraren. Du måste först trycka på CTRL+G på tangentbordet eller gå till Visa> Mellanfönster i VBE Editor, för att visa mellanfönstret.
Följande kod visar hur du visar hyperlänkar i ditt kalkylblad i mellanfönstret:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorksheet ()Dim ws Som arbetsbladAnge ws = ThisWorkbook.Sheets (1)För varje lnk i ws.HyperlinksDebug.Print lnk.AddressNästa lnkAvsluta Sub |
Resultaten visas i mellanfönstret.
Visa alla hyperlänkar i en arbetsbok
Du kan komma åt hyperlänksamlingen för att gå igenom och visa alla hyperlänkar i din arbetsbok i en meddelanderuta.
Följande kod visar hur du gör detta och använder en kapslad slinga för att uppnå detta:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorkbook ()Dim ws Som arbetsbladFör varje ws i ActiveWorkbook.WorksheetsFör varje lnk i ws.HyperlinksMsgBox lnk.AdressNästa lnkNästa wsAvsluta Sub |
Använda FollowHyperlink -metoden för att skapa e -postmeddelanden
Du kan också skapa e -postmeddelanden med FollowHyperlink -metoden.
Koden nedan visar hur du skapar e -postmeddelanden med FollowHyperlink -metoden i VBA:
12345678 | Sub SendEmailUsingHyperlink ()Dim msgLink som strängmsgLink = "mailto:" & "[email protected]" & "?" & "subject =" & "Hello" & "&" & "body =" & "Hur mår du?"ActiveWorkbook.FollowHyperlink (msgLink)Avsluta Sub |
Resultatet är:
Lägga till en hyperlänk till en AutoShape i Excel
Du kan lägga till en hyperlänk till en Autoshape i Excel så att när användaren klickar på formen kommer de till en webbplatsadress.
Följande kod skapar en rundad rektangel, lägger till texten i rektangeln och lägger till en hyperlänk till rektangeln:
12345678910111213 | Sub AddingAHyperlinkToAShape ()Dim myShape som formStäll in myDocument = Worksheets ("Sheet1")Ange myShape = myDocument.Shapes.AddShape (msoShapeRoundedRectangle, 100, 100, 90, 30)Med myShape.TextFrame.Characters.Text = "Automatisera Excel"Sluta medActiveSheet.Hyperlinks.Add Anchor: = myShape, Address: = "https://www.automateexcel.com/excel"Avsluta Sub |
Resultatet är:
Infoga hyperlänkformeln i en cell med hjälp av VBA
Låt oss säga att du har en inläggstitel i cell A4 och en inläggslänk i cell B4 som visas på bilden nedan.
En snabb påminnelse om kalkylformelsyntaxen för kalkylbladet är:
HYPERLINK (länk_plats, [vänligt_namn])
link_location - Det här är länken till dokumentet, filen, platsen i arbetsboken eller online -webbplatsen.
vänligt namn - (Frivillig) - Texten eller det numeriska värdet som visas i cellen.
I cell C4 vill du lägga till hyperlänken med en vänlig text att visa, nu brukar du ange formeln = HYPERLINK (B4, A4) i C4 för att få följande:
Du kan istället använda VBA för att uppnå samma resultat och infoga denna formel i cellen på Sheet1 med följande kod:
123 | SubinsatsHyperlinkFormulaInCell ()ActiveWorkbook.Worksheets ("Sheet1"). Omfång ("C4"). Formel = "= hyperlänk (B4, A4)"Avsluta Sub |
Lägga till en hyperlänk till en knapp i Access
VBA låter dig också arbeta med hyperlänkar i Access. Låt oss säga att vi har en knapp på ett formulär och när användaren klickar på den knappen vill vi att de ska tas till en webbplats. Ett sätt som du kan använda för att göra detta är genom metoden Application.FollowHyperlink.
Vi har vårt provformulär med en knapp som heter buttonOne som visas nedan.
Koden för den här knappen skulle vara:
12345 | Privat sub -knapp One_Click ()Application.FollowHyperlink ("https://www.automateexcel.com/excel/")Avsluta Sub |
Skapa en hyperlänk från ett urval i Word
Du kan också arbeta med hyperlänkar i Word VBA.
Låt oss säga att vi har text Ord som säger "Klicka här för att tas till automatisera Excel -webbplatsen", som väljs enligt nedan.
För att göra denna text till en hyperlänk med VBA kan du använda följande kod:
123 | Private Sub TurnASelectionIntoAHyperlink ()ActiveDocument.Hyperlinks.Add Anchor: = Selection.Range, Address: = "https://www.automateexcel.com/excel/", ScreenTip: = "Klicka här snälla", Target: = NewWindowAvsluta Sub |
Resultatet är: