Hiperłącza VBA

Spisie treści

Ten samouczek VBA obejmuje różne sposoby pracy z hiperłączami w VBA.

Hiperłącza VBA

Dzięki VBA możesz dodawać hiperłącza, usuwać hiperłącza, tworzyć wiadomości e-mail za pomocą hiperłączy i otwierać pliki za pomocą hiperłączy w VBA.

Dodaj hiperłącze za pomocą VBA

Metoda Hyperlinks.Add dodaje hiperłącze do komórki przy użyciu języka VBA.

Poniższy kod doda hiperłącze do komórki A1:

123 Sub DodajHiperłączeDoKomórki()ActiveSheet.Hyperlinks.Add Range("A1"), Adres:="https://www.automateexcel.com/excel/"Napis końcowy

Wynik to:

Dodawanie tekstu do wyświetlania za pomocą VBA

Możesz dodać zgrabny, przyjazny dla użytkownika tekst do wyświetlenia do hiperłącza za pomocą VBA. Jeśli korzystasz z funkcji arkusza roboczego, wstawiasz hiperłącze, a następnie dodajesz tekst do wyświetlenia w wyświetlonym oknie dialogowym.

Poniższy kod pokazuje, jak dodać tekst do wyświetlenia do hiperłącza za pomocą VBA:

123 Tekst podrzędny do wyświetlenia dla hiperłącza()ActiveSheet.Hyperlinks.Add Range("A1"), Adres:="https://www.automateexcel.com/excel/", TextToDisplay:="Automatyzacja programu Excel"Napis końcowy

Wynik to:

Dodawanie etykietki ekranowej za pomocą VBA

Do hiperłącza możesz dodać etykietkę ekranową, którą zobaczy widz po najechaniu na łącze.

Poniższy kod pokazuje, jak dodać etykietkę ekranową do hiperłącza za pomocą VBA:

123 Podpowiedź ekranowa dla hiperłącza()ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/", TextToDisplay:="Automate Excel", ScreenTip:="To jest łącze do automatyzacji programu Excel"Napis końcowy

Wynik to:

Usuń hiperłącze za pomocą VBA

Metoda Hyperlinks.Delete może służyć do usuwania hiperłącza z komórki.

Poniższy kod usunie hiperłącze z komórki A1 i tekst w komórce.

Zauważ, że samo usunięcie hiperłącza nie powoduje usunięcia samego tekstu, dlatego jeśli chcesz usunąć tekst, musisz również użyć metody Clear.

1234 Sub UsuńHiperlinkinCell()Zakres("A1").Hiperłącza.UsuńZakres ("A1"). WyczyśćNapis końcowy

Usuń wszystkie hiperłącza w arkuszu

Możesz również usunąć wszystkie hiperłącza w arkuszu za pomocą metody Hyperlinks.Delete.

Poniższy kod usunie wszystkie hiperłącza w pierwszym arkuszu w skoroszycie:

123 Sub Usuń wszystkie hiperłącza w arkuszu()ThisWorkbook.Sheets(1).Hyperlinks.DeleteNapis końcowy

Śledź hiperłącze witryny za pomocą VBA

Poniższy kod umożliwia otwarcie adresu witryny w nowym oknie w przeglądarce przy użyciu metody FollowHyperlink w skoroszycie:

123 Sub ObserwujHiperłączeDlaWitryny()ActiveWorkbook.FollowHyperlink Adres:="https://www.automateexcel.com/excel", NewWindow:=TrueNapis końcowy

Podążaj za hiperłączem do folderu na dysku

Poniższy kod otworzy folder o nazwie ExcelFiles na pulpicie przy użyciu metody FollowHyperlink:

123 Sub FollowHyperlinkForFolderOnDrive()ActiveWorkbook.FollowHyperlink Adres: = "C:\Desktop\ExcelFiles"Napis końcowy

Postępuj zgodnie z hiperłączem do pliku na dysku

Poniższy kod otworzy plik Excel o nazwie WorkbookOne w folderze o nazwie ExcelFiles na pulpicie przy użyciu metody FollowHyperlink:

123 Sub FollowHyperlinkForFile()ActiveWorkbook.FollowHyperlink Address:="C:\Desktop\ExcelFiles\WorkbookOne.xlsx", NewWindow:=TrueNapis końcowy

Przejdź do komórki w innym arkuszu w tym samym skoroszycie

Możesz dodać hiperłącze do komórki w jednym arkuszu, które przeniesie Cię do innego arkusza, w tym samym skoroszycie z VBA. Załóżmy, że znajdujesz się w arkuszu Sheet1, komórka A1 skoroszytu i chcesz wstawić hiperłącze do Sheet2, komórka B2 tego samego skoroszytu, możesz w tym celu użyć właściwości SubAddress.

Poniższy kod pokazuje, jak to zrobić:

123 Sub IdźDoInnej KomórkiWInnymArkuszuWTym Samym Skoroszycie()ActiveSheet.Hyperlinks.Add Range("A1"), Address:="", SubAddress:="'" & Sheet2.Name & "'!B2", TextToDisplay:="Kliknij tutaj, aby przejść do arkusza2, komórka B2 ten sam skoroszyt"Napis końcowy

Wyświetl wszystkie hiperłącza w arkuszu

Możesz uzyskać dostęp do kolekcji hiperłączy i wyświetlić wszystkie hiperłącza w arkuszu w Okno pośrednie w edytorze VBA. Musisz najpierw nacisnąć CTRL+G na klawiaturze lub przejdź do Widok>Okno pośrednie w edytorze VBE, aby wyświetlić okno pośrednie.

Poniższy kod pokazuje, jak wyświetlić hiperłącza w arkuszu w oknie pośrednim:

1234567891011 Sub Pokaż wszystkie hiperłącza w arkuszu roboczym()Dim ws As WorksheetUstaw ws = ThisWorkbook.Sheets(1)Dla każdego linku w ws.HyperlinksDebug.Drukuj lnk.AdresNastępny linkNapis końcowy

Wyniki są pokazane w oknie pośrednim.

Wyświetl wszystkie hiperłącza w skoroszycie

Możesz uzyskać dostęp do kolekcji hiperłączy, aby przeglądać i wyświetlać wszystkie hiperłącza w skoroszycie w oknie wiadomości.

Poniższy kod pokazuje, jak to zrobić, i wykorzystuje zagnieżdżoną pętlę, aby to osiągnąć:

1234567891011 Sub Pokaż wszystkie hiperłącza w skoroszycie()Dim ws As WorksheetDla każdego ws In ActiveWorkbook.WorksheetsDla każdego linku w ws.HyperlinksMsgBox Lnk.AdresNastępny linkNastępnyNapis końcowy

Używanie metody FollowHyperlink do tworzenia wiadomości e-mail

Możesz także tworzyć e-maile za pomocą metody FollowHyperlink.

Poniższy kod pokaże Ci, jak tworzyć wiadomości e-mail za pomocą metody FollowHyperlink w VBA:

12345678 Sub Wyślij e-mail za pomocą hiperłącza()Dim msgLink jako ciągmsgLink = "mailto:" & "[email protected]" & "?" & "temat=" & "Cześć" & "&" & "ciało=" & "Jak się masz?"ActiveWorkbook.FollowHyperłącze (msgLink)Napis końcowy

Wynik to:

Dodawanie hiperłącza do autokształtu w programie Excel

Możesz dodać hiperłącze do autokształtu w programie Excel, aby po kliknięciu przez użytkownika kształtu został przeniesiony na adres witryny internetowej.

Poniższy kod tworzy zaokrąglony prostokąt, dodaje tekst do prostokąta i dodaje hiperłącze do prostokąta:

12345678910111213 Sub DodawanieHiperłącza do Kształtu()Przyciemnij myShape jako kształtUstaw mójDokument = Arkusze("Arkusz1")Ustaw myShape = myDocument.Shapes.AddShape(msoShapeRoundedRectangle, 100, 100, 90, 30)Z myShape.TextFrame.Characters.Text = "Automatyzacja Excela"Kończyć zActiveSheet.Hyperlinks.Add Anchor:=myShape, Address:="https://www.automateexcel.com/excel"Napis końcowy

Wynik to:

Wstawianie formuły hiperłącza do komórki za pomocą VBA

Załóżmy, że masz tytuł posta w komórce A4 i link do posta w komórce B4, jak pokazano na poniższym obrazku.

Szybkie przypomnienie składni formuły hiperłącza arkusza roboczego to:

HIPERLINK(lokalizacja_linku, [przyjazna_nazwa])

link_location - to jest łącze do dokumentu, pliku, miejsca w skoroszycie lub witrynie internetowej.

przyjazne imię - (Opcjonalny) - tekst lub wartość liczbowa wyświetlana w komórce.

W komórce C4 chcesz dodać hiperłącze z przyjaznym tekstem do wyświetlenia, teraz zwykle wpiszesz formułę = HIPERLINK (B4, A4) w C4, aby uzyskać następujące informacje:

Zamiast tego możesz użyć VBA, aby osiągnąć ten sam wynik, i wstawić tę formułę do komórki w arkuszu Sheet1 z następującym kodem:

123 Sub Wstaw formułę hiperłącza w komórce()ActiveWorkbook.Worksheets("Arkusz1").Range("C4").Formula = "=hiperłącze(B4,A4)"Napis końcowy

Dodawanie hiperłącza do przycisku w programie Access

VBA umożliwia również pracę z hiperłączami w programie Access. Załóżmy, że mamy przycisk na formularzu i gdy użytkownik kliknie ten przycisk, chcemy, aby został przeniesiony na stronę internetową. Jednym ze sposobów, w jaki możesz to zrobić, jest użycie metody Application.FollowHyperlink.

Mamy nasz przykładowy formularz z przyciskiem o nazwie buttonOne pokazany poniżej.

Kod tego przycisku to:

12345 Prywatny przycisk podrzędnyJedno kliknięcie()Application.FollowHyperlink ("https://www.automateexcel.com/excel/")Napis końcowy

Tworzenie hiperłącza z zaznaczenia w programie Word

Możesz również pracować z hiperłączami w programie Word VBA.
Powiedzmy, że mamy tekst w Słowo z napisem „Kliknij tutaj, aby zostać przeniesionym do witryny Automate Excel”, który jest wybrany, jak pokazano poniżej.

Aby zamienić ten tekst w hiperłącze za pomocą VBA, możesz użyć następującego kodu:

123 Prywatna podrzędna TurnASelectionIntoAHyperlink()ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="https://www.automateexcel.com/excel/", ScreenTip:="Kliknij tutaj, proszę", Target:=NewWindowNapis końcowy

Wynik to:

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave