Tento výukový program VBA popisuje různé způsoby práce s hypertextovými odkazy ve VBA.
Hypertextové odkazy VBA
Pomocí VBA můžete přidávat hypertextové odkazy, odstraňovat hypertextové odkazy, vytvářet e -maily pomocí hypertextových odkazů a otevírat soubory pomocí hypertextových odkazů ve VBA.
Přidejte hypertextový odkaz pomocí VBA
Metoda Hyperlinks.Add přidá hypertextový odkaz na buňku pomocí VBA.
Následující kód přidá hypertextový odkaz do buňky A1:
123 | Sub AddHyperlinkToCell ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "https://www.automateexcel.com/excel/"End Sub |
Výsledek je:
Přidání textu do zobrazení pomocí VBA
Pomocí VBA můžete přidat úhledný uživatelsky přívětivý text, který se zobrazí ve vašem hypertextovém odkazu. Pokud jste použili funkci listu, vložili byste hypertextový odkaz a poté přidali text, který se zobrazí v poskytnutém dialogovém okně.
Níže uvedený kód ukazuje, jak přidat text k zobrazení hypertextového odkazu pomocí VBA:
123 | PodtextToDisplayForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automatizovat Excel"End Sub |
Výsledek je:
Přidání ScreenTipu s VBA
K hypertextovému odkazu můžete přidat ScreenTip, který se divákovi zobrazí, když na odkaz najede myší.
Níže uvedený kód ukazuje, jak přidat ScreenTip do hypertextového odkazu pomocí VBA:
123 | Sub ScreenTipForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automate Excel", ScreenTip: = "This is the link for Automate Excel"End Sub |
Výsledek je:
Odstranit hypertextový odkaz pomocí VBA
K odstranění hypertextového odkazu z buňky lze použít metodu Hyperlinks.Delete.
Následující kód odstraní hypertextový odkaz z buňky A1 a textu v buňce.
Pamatujte, že pouhým odstraněním hypertextového odkazu se neodstraní samotný text, a proto pokud chcete text odstranit, musíte také použít metodu Vymazat.
1234 | Sub DeleteHyperlinkinCell ()Rozsah („A1“). Hypertextové odkazy. OdstranitRozsah („A1“). JasnéEnd Sub |
Odstraňte všechny hypertextové odkazy v listu
Můžete také odstranit všechny hypertextové odkazy v listu pomocí metody Hyperlinks.Delete.
Následující kód odstraní všechny hypertextové odkazy v prvním listu v sešitu:
123 | Sub RemoveAllHyperlinksInASheet ()ThisWorkbook.Sheets (1) .Hyperlinks.DeleteEnd Sub |
Sledujte hypertextový odkaz na web pomocí VBA
Následující kód vám umožňuje otevřít adresu webu v novém okně v prohlížeči pomocí metody FollowHyperlink ve vašem sešitu:
123 | Sub FollowHyperlinkForWebsite ()ActiveWorkbook.FollowHyperlink Adresa: = "https://www.automateexcel.com/excel", NewWindow: = TrueEnd Sub |
Sledujte hypertextový odkaz na složku na vašem disku
Následující kód otevře složku s názvem ExcelFiles na ploše pomocí metody FollowHyperlink:
123 | Sub FollowHyperlinkForFolderOnDrive ()ActiveWorkbook.FollowHyperlink Adresa: = "C: \ Desktop \ ExcelFiles"End Sub |
Sledujte hypertextový odkaz na soubor na vašem disku
Následující kód otevře soubor aplikace Excel s názvem WorkbookOne ve složce s názvem ExcelFiles na ploše pomocí metody FollowHyperlink:
123 | Sub FollowHyperlinkForFile ()ActiveWorkbook.FollowHyperlink Adresa: = "C: \ Desktop \ ExcelFiles \ WorkbookOne.xlsx", NewWindow: = TrueEnd Sub |
Přejít na buňku v jiném listu ve stejném sešitu
Do buňky v jednom listu můžete přidat hypertextový odkaz, který vás přenese na jiný list, ve stejném sešitu s VBA. Řekněme, že jste na listu 1, buňce A1 sešitu a chcete vložit hypertextový odkaz na list 2, buňka B2 stejného sešitu, můžete k tomu použít vlastnost SubAddress.
Následující kód ukazuje, jak to provést:
123 | Sub GoToAnotherCellInAnotherSheetInTheSameWorkbook ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "", SubAddress: = "'" & Sheet2.Name & "'! B2", TextToDisplay: = "Click here to go to Sheet2, cell B2 of the stejný sešit “End Sub |
Zobrazit všechny hypertextové odkazy v listu
Můžete přistupovat ke kolekci hypertextových odkazů a zobrazit všechny hypertextové odkazy na listu v souboru Mezilehlé okno v editoru VBA. Nejprve musíte stisknout CTRL+G na klávesnici nebo přejděte na Zobrazit> Mezilehlé okno v editoru VBE, abyste zobrazili přechodné okno.
Následující kód ukazuje, jak zobrazit hypertextové odkazy na listu v mezilehlém okně:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorksheet ()Dim ws As WorksheetNastavit ws = ThisWorkbook.Sheets (1)Za každý lnk v ws.HyperlinksDebug.Print lnk.AddressDalší lnkEnd Sub |
Výsledky jsou zobrazeny v přechodném okně.
Zobrazit všechny hypertextové odkazy v sešitu
Můžete přistupovat ke kolekci hypertextových odkazů, procházet a zobrazovat všechny hypertextové odkazy ve vašem sešitu ve schránce zpráv.
Následující kód ukazuje, jak to udělat, a používá vnořenou smyčku, aby toho dosáhl:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorkbook ()Dim ws As WorksheetZa každý ws v ActiveWorkbook.WorksheetsZa každý lnk v ws.HyperlinksMsgBox lnk.AddressDalší lnkDalší wsEnd Sub |
Použití metody FollowHyperlink k vytváření e -mailů
E -maily můžete také vytvářet pomocí metody FollowHyperlink.
Níže uvedený kód vám ukáže, jak vytvářet e -maily pomocí metody FollowHyperlink ve VBA:
12345678 | Sub OdeslatE -mailUsingHyperlink ()Dim msgLink As StringmsgLink = "mailto:" & "[email protected]" & "?" & "subject =" & "Dobrý den" & "&" & "body =" & "Jak se máte?"ActiveWorkbook.FollowHyperlink (msgLink)End Sub |
Výsledek je:
Přidání hypertextového odkazu na automatický tvar v aplikaci Excel
Na Autoshape v Excelu můžete přidat hypertextový odkaz, takže když uživatel klikne na tvar, dostane se na adresu webové stránky.
Následující kód vytvoří zaoblený obdélník, přidá text do obdélníku a přidá hypertextový odkaz na obdélník:
12345678910111213 | SubAddingAHyperlinkToAShape ()Dim myShape As ShapeNastavit myDocument = pracovní listy ("List1")Nastavit myShape = myDocument.Shapes.AddShape (msoShapeRoundedRectangle, 100, 100, 90, 30)S myShape.TextFrame.Characters.Text = "Automatizovat Excel"Konec sActiveSheet.Hyperlinks.Add Anchor: = myShape, Address: = "https://www.automateexcel.com/excel"End Sub |
Výsledek je:
Vložení vzorce hypertextového odkazu do buňky pomocí VBA
Řekněme, že máte název příspěvku v buňce A4 a odkaz na příspěvek v buňce B4, jak je znázorněno na obrázku níže.
Rychlé připomenutí syntaxe vzorce hypertextového odkazu v listu je:
HYPERLINK (umístění_ odkazu, [název_přátelského])
link_location - toto je odkaz na dokument, soubor, místo v sešitu nebo na online webu.
přátelské jméno - (Volitelný) - Text nebo číselná hodnota, která je zobrazena v buňce.
V buňce C4 chcete přidat hypertextový odkaz s popisným textem k zobrazení, nyní obvykle zadáte vzorec = HYPERLINK (B4, A4) do C4, abyste získali následující:
Místo toho můžete použít VBA k dosažení stejného výsledku a vložit tento vzorec do buňky na List1 s následujícím kódem:
123 | Dílčí vložkaHyperlinkFormulaInCell ()ActiveWorkbook.Worksheets ("Sheet1"). Range ("C4"). Formula = "= hyperlink (B4, A4)"End Sub |
Přidání hypertextového odkazu na tlačítko v Accessu
VBA vám také umožňuje pracovat s hypertextovými odkazy v Accessu. Řekněme, že máme tlačítko ve formuláři, a když uživatel na toto tlačítko klikne, chceme, aby byli přesměrováni na web. Jedním ze způsobů, jak toho můžete dosáhnout, je metoda Application.FollowHyperlink.
Máme ukázkový formulář s tlačítkem s názvem buttonOne zobrazeným níže.
Kód pro toto tlačítko bude:
12345 | Tlačítko Private SubOne_Click ()Application.FollowHyperlink ("https://www.automateexcel.com/excel/")End Sub |
Vytvoření hypertextového odkazu z výběru ve Wordu
S hypertextovými odkazy můžete pracovat i ve Wordu VBA.
Řekněme, že máme text Slovo to říká „Kliknutím sem přejdete na web Automate Excel“, který je vybrán, jak je uvedeno níže.
Chcete -li tento text převést na hypertextový odkaz pomocí jazyka VBA, můžete použít následující kód:
123 | Soukromý dílčí turnASelectionIntoAHyperlink ()ActiveDocument.Hyperlinks.Add Anchor: = Selection.Range, Adresa: = "https://www.automateexcel.com/excel/", ScreenTip: = "Klikněte sem prosím", Cíl: = Nové oknoEnd Sub |
Výsledek je: