Invio di più mailto: collegamenti in un foglio di calcolo di Excel


1

Ho un foglio di calcolo di Excel che ha un elenco di mailto: collegamenti ipertestuali in una delle colonne.
Mi piacerebbe essere in grado di inviare una e-mail a una selezione di essi, ma cliccando su uno - anche come parte di una selezione - basta inviare quel collegamento al programma di posta, e cercando di copiarli copia solo il testo visualizzato- non sembra esserci modo di copiare il link sottostante.

Inoltre, non riesco a trovare un modo per accedere al link sottostante da una formula in un'altra cella per concatenare i diversi gruppi logici di persone in singoli collegamenti contenenti tutti i loro indirizzi.

Ho cercato su Google e ho trovato molte soluzioni per i collegamenti con più indirizzi al loro interno, ma non uno che prende una serie di link contenenti ciascuno un singolo indirizzo come punto di partenza.

qualcuno sa come farlo?

Risposte:


0

Dovremo utilizzare un po 'di VBA qui, ma non preoccuparti: è bello e facile!

stampa alt + F11 . Ciò visualizzerà il Visual Basic Editor. Dalla barra dei menu in alto, fare clic su Inserire poi Modulo . Incolla il seguente codice nella finestra che appare a destra:

Function GetEmailAddress(EmailCell As Range) As String
   GetEmailAddress = Replace(EmailCell.Hyperlinks(1).Address, "mailto:", "")
End Function

Puoi chiudere questa finestra ora e tornare al tuo foglio di lavoro.

Aggiungi una colonna a destra del tuo elenco di nomi contenenti collegamenti. Stiamo andando a memorizzare i nostri indirizzi e-mail qui. Inserisci questa formula e copia:

=GetEmailAddress(A2)

enter image description here

Concatena gli indirizzi email che ti interessano in un'altra cella e collega il risultato con ipertesti:

=HYPERLINK("mailto:"&A2&","&A3&","&A4&","&A5,"email people")

Questo produce un link che dice email people come mostrato nella cella D4 nello screenshot. Quando fai clic sul link, invia l'elenco di indirizzi al tuo client di posta elettronica.

enter image description here

Nota - poiché abbiamo aggiunto del codice VBA, avremo bisogno di salvare il file come file .xls o .xlsm.


Il problema è che il testo visualizzato è il nome della persona, quindi se provo qualcosa con le formule ottengo i nomi visualizzati e non gli indirizzi email. Non riesco a trovare un modo per ottenere l'obiettivo di collegamento effettivo in una formula.
Craig Graham

Oh, vuoi dire che il valore della cella è letteralmente il nome della persona, e qualcuno ha fatto clic con il pulsante destro del mouse sulla cella, aggiunto un collegamento ipertestuale e incorporato l'indirizzo email in questo modo? Ahh. OK, possiamo occuparcene. Aspetta un segno di spunta.
Andi Mohr

Tu. Non so perché non ci sia solo una colonna email separata, ma non sono io a mantenerlo, quindi è quello che è.
Craig Graham

0

Dal momento che la risposta accettata consiste nel creare una colonna in più, e in realtà non mi preoccupo troppo di avere un collegamento ipertestuale finale - sono abbastanza contento di copiare e incollare una stringa nel programma di posta elettronica - Ho adattato la risposta accettata a questo funzione. Potrebbe essere utile a qualcuno che fa simili e non ha funzionato come commento.

Function GetEmailAddress(EmailCell As Range) As String

    Dim addressList As String
    Dim sep As String

    For Each c In EmailCell.Cells
        addressList = addressList & sep & Replace(c.Hyperlinks(1).Address, "mailto:", "")
        sep = ","
    Next

   GetEmailAddress = addressList

End Function 
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.