Questo tutorial VBA copre i diversi modi di lavorare con i collegamenti ipertestuali in VBA.
Collegamenti ipertestuali VBA
Con VBA, puoi aggiungere collegamenti ipertestuali, rimuovere collegamenti ipertestuali, creare e-mail utilizzando collegamenti ipertestuali e aprire file utilizzando collegamenti ipertestuali in VBA.
Aggiungi un collegamento ipertestuale con VBA
Il metodo Hyperlinks.Add aggiunge un collegamento ipertestuale a una cella utilizzando VBA.
Il seguente codice aggiungerà un collegamento ipertestuale alla cella A1:
123 | Sub AddHyperlinkToCell()ActiveSheet.Hyperlinks.Add Range("A1"), Indirizzo:="https://www.automateexcel.com/excel/"Fine sottotitolo |
Il risultato è:
Aggiunta di testo da visualizzare con VBA
Puoi aggiungere un testo pulito e intuitivo da visualizzare al tuo collegamento ipertestuale con VBA. Se hai utilizzato la funzionalità del foglio di lavoro, inseriresti un collegamento ipertestuale e quindi aggiungeresti un testo da visualizzare nella finestra di dialogo fornita.
Il codice seguente mostra come aggiungere testo da visualizzare al collegamento ipertestuale utilizzando VBA:
123 | Sub TextToDisplayForHyperlink()ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/", TextToDisplay:="Automate Excel"Fine sottotitolo |
Il risultato è:
Aggiunta di un suggerimento con VBA
Puoi aggiungere un suggerimento al tuo collegamento ipertestuale che lo spettatore vedrà quando passa il mouse sopra il collegamento.
Il codice seguente mostra come aggiungere un suggerimento al tuo collegamento ipertestuale utilizzando VBA:
123 | Sub ScreenTipForHyperlink()ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/", TextToDisplay:="Automate Excel", ScreenTip:="Questo è il collegamento per Automate Excel"Fine sottotitolo |
Il risultato è:
Elimina un collegamento ipertestuale con VBA
Il metodo Hyperlinks.Delete può essere utilizzato per eliminare un collegamento ipertestuale da una cella.
Il seguente codice eliminerà il collegamento ipertestuale dalla cella A1 e il testo nella cella.
Nota che la semplice eliminazione del collegamento ipertestuale non elimina il testo stesso, ecco perché se vuoi che il testo venga eliminato devi anche usare il metodo Cancella.
1234 | Sub DeleteHyperlinkinCell()Intervallo ("A1"). Collegamenti ipertestuali. EliminaIntervallo ("A1"). CancellaFine sottotitolo |
Elimina tutti i collegamenti ipertestuali in un foglio di lavoro
Puoi anche eliminare tutti i collegamenti ipertestuali nel foglio di lavoro utilizzando il metodo Hyperlinks.Delete.
Il codice seguente eliminerà tutti i collegamenti ipertestuali nel primo foglio di lavoro nella cartella di lavoro:
123 | Sub RemoveAllHyperlinksInASheet()ThisWorkbook.Sheets(1).Hyperlinks.DeleteFine sottotitolo |
Segui un collegamento ipertestuale a un sito Web utilizzando VBA
Il codice seguente consente di aprire l'indirizzo di un sito Web, in una nuova finestra del browser utilizzando il metodo FollowHyperlink nella cartella di lavoro:
123 | Sub SeguiHyperlinkForWebsite()ActiveWorkbook.FollowHyperlink Address:="https://www.automateexcel.com/excel", NewWindow:=TrueFine sottotitolo |
Segui un collegamento ipertestuale a una cartella sul tuo disco
Il codice seguente aprirà una cartella denominata ExcelFiles sul desktop utilizzando il metodo FollowHyperlink:
123 | Sub FollowHyperlinkForFolderOnDrive()ActiveWorkbook.FollowHyperlink Address:="C:\Desktop\ExcelFiles"Fine sottotitolo |
Segui un collegamento ipertestuale a un file sul tuo Drive
Il codice seguente aprirà un file Excel denominato WorkbookOne nella cartella denominata ExcelFiles sul desktop utilizzando il metodo FollowHyperlink:
123 | Sub SeguiHyperlinkForFile()ActiveWorkbook.FollowHyperlink Address:="C:\Desktop\ExcelFiles\WorkbookOne.xlsx", NewWindow:=TrueFine sottotitolo |
Vai a una cella in un altro foglio nella stessa cartella di lavoro
Puoi aggiungere un collegamento ipertestuale a una cella in un foglio che ti porta a un altro foglio, nella stessa cartella di lavoro con VBA. Supponiamo che tu sia su Foglio1, cella A1 della tua cartella di lavoro e desideri inserire un collegamento ipertestuale a Foglio2, cella B2 della stessa cartella di lavoro, puoi utilizzare la proprietà SubAddress per farlo.
Il codice seguente mostra come eseguire questa operazione:
123 | Sub Vai a un'altra cella in un altro foglio nella stessa cartella di lavoro()ActiveSheet.Hyperlinks.Add Range("A1"), Address:="", SubAddress:="'" & Sheet2.Name & "'!B2", TextToDisplay:="Fai clic qui per andare a Sheet2, cella B2 del stessa cartella di lavoro"Fine sottotitolo |
Visualizza tutti i collegamenti ipertestuali in un foglio di lavoro
Puoi accedere alla raccolta di collegamenti ipertestuali e visualizzare tutti i collegamenti ipertestuali nel tuo foglio di lavoro in Finestra intermedia nell'editor VBA. Devi prima premere CTRL+G sulla tastiera o vai su Visualizza>Finestra intermedia nell'editor VBE, per visualizzare la finestra intermedia.
Il codice seguente mostra come visualizzare i collegamenti ipertestuali nel foglio di lavoro nella finestra intermedia:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorksheet()Dim ws come foglio di lavoroImposta ws = ThisWorkbook.Sheets(1)Per ogni collegamento in ws.HyperlinksDebug.Print lnk.AddressCollegamento successivoFine sottotitolo |
I risultati sono mostrati nella Finestra Intermedia.
Visualizza tutti i collegamenti ipertestuali in una cartella di lavoro
È possibile accedere alla raccolta di collegamenti ipertestuali, scorrere e visualizzare tutti i collegamenti ipertestuali nella cartella di lavoro in una finestra di messaggio.
Il codice seguente mostra come eseguire questa operazione e utilizza un ciclo annidato per ottenere ciò:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorkbook()Dim ws come foglio di lavoroPer ogni ws in ActiveWorkbook.WorksheetsPer ogni collegamento in ws.HyperlinksMsgBox lnk.AddressCollegamento successivoAvanti wFine sottotitolo |
Utilizzo del metodo FollowHyperlink per creare e-mail
Puoi anche creare e-mail utilizzando il metodo FollowHyperlink.
Il codice seguente ti mostrerà come creare e-mail utilizzando il metodo FollowHyperlink in VBA:
12345678 | Sub SendEmailUsingHyperlink()Dim msgLink As StringmsgLink = "mailto:" & "[email protected]" & "?" & "subject=" & "Ciao" & "&" & "body=" & "Come stai?"ActiveWorkbook.FollowHyperlink (msgLink)Fine sottotitolo |
Il risultato è:
Aggiunta di un collegamento ipertestuale a una forma in Excel
È possibile aggiungere un collegamento ipertestuale a una forma automatica in Excel in modo che quando l'utente fa clic sulla forma venga indirizzato all'indirizzo di un sito Web.
Il codice seguente crea un rettangolo arrotondato, aggiunge il testo al rettangolo e aggiunge un collegamento ipertestuale al rettangolo:
12345678910111213 | Sub AddingAHyperlinkToAShape()Dim myShape As ShapeImposta mioDocumento = Fogli di lavoro("Foglio1")Imposta myShape = myDocument.Shapes.AddShape(msoShapeRoundedRectangle, 100, 100, 90, 30)Con myShape.TextFrame.Characters.Text = "Automatizza Excel"Termina conActiveSheet.Hyperlinks.Add Anchor:=myShape, Address:="https://www.automateexcel.com/excel"Fine sottotitolo |
Il risultato è:
Inserimento della formula del collegamento ipertestuale in una cella utilizzando VBA
Supponiamo che tu abbia un titolo del post nella cella A4 e un link del post nella cella B4 come mostrato nell'immagine qui sotto.
Un rapido promemoria della sintassi della formula del collegamento ipertestuale del foglio di lavoro è:
HYPERLINK(link_location, [friendly_name])
link_location - Questo è il collegamento al documento, file, posizione nella cartella di lavoro o nel sito online.
nome amichevole - (Opzionale) - Il testo o il valore numerico visualizzato nella cella.
Nella cella C4, vuoi aggiungere il collegamento ipertestuale con un testo amichevole da visualizzare, ora di solito dovresti inserire la formula = HYPERLINK (B4, A4) in C4 per ottenere quanto segue:
Potresti invece usare VBA per ottenere lo stesso risultato e inserire questa formula nella cella, su Sheet1 con il seguente codice:
123 | Sub InsertHyperlinkFormulaInCell()ActiveWorkbook.Worksheets ("Foglio1"). Intervallo ("C4"). Formula = "= collegamento ipertestuale (B4, A4)"Fine sottotitolo |
Aggiunta di un collegamento ipertestuale a un pulsante in Access
VBA ti consente di lavorare anche con i collegamenti ipertestuali in Access. Diciamo che abbiamo un pulsante in un modulo e quando l'utente fa clic su quel pulsante vogliamo che venga indirizzato a un sito Web. Un modo che puoi usare per farlo è attraverso il metodo Application.FollowHyperlink.
Abbiamo il nostro modulo di esempio con un pulsante chiamato buttonOne mostrato di seguito.
Il codice per questo pulsante sarebbe:
12345 | Pulsante secondario privatoOne_Click()Application.FollowHyperlink ("https://www.automateexcel.com/excel/")Fine sottotitolo |
Creazione di un collegamento ipertestuale da una selezione in Word
Puoi anche lavorare con i collegamenti ipertestuali in Word VBA.
Diciamo che abbiamo del testo dentro Parola che dice "Fai clic qui per essere portato al sito Web di Automate Excel", selezionato come mostrato di seguito.
Per trasformare questo testo in un collegamento ipertestuale utilizzando VBA, puoi utilizzare il seguente codice:
123 | Private Sub TurnASelectionIntoAHyperlink()ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="https://www.automateexcel.com/excel/", ScreenTip:="Fai clic qui per favore", Target:=NewWindowFine sottotitolo |
Il risultato è: