Enviando múltiplos mailto: links em uma planilha do Excel

1

Eu tenho uma planilha do Excel que tem uma lista de mailto: hyperlinks em uma das colunas.
Gostaria de poder enviar um e-mail para uma seleção deles, mas clicar em um - mesmo como parte de uma seleção - apenas envia aquele link para o programa de e-mail, e tentar copiá-los copia apenas o texto de exibição parece que não há como copiar o link subjacente.

Eu também não consigo encontrar uma maneira de acessar o link subjacente de uma fórmula em outra célula para concatenar os diferentes grupos lógicos de pessoas em links únicos contendo todos os seus endereços.

Eu pesquisei e encontrei muitas soluções para links com vários endereços neles, mas não um que use um conjunto de links contendo um único endereço como ponto de partida.

Alguém sabe como fazer isso?

    
por Craig Graham 04.05.2016 / 12:38

2 respostas

0

Vamos ter que usar um pouco de VBA aqui, mas não se preocupe - é legal e fácil!

Pressione Alt + F11 . Isso fará com que o Editor do Visual Basic. Na barra de menu superior, clique em Inserir e em Módulo . Cole o seguinte código na janela que aparece à direita:

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

Você pode fechar esta janela agora e voltar para sua planilha.

Adicione uma coluna à direita da sua lista de nomes contendo links. Nós vamos armazenar nossos endereços de e-mail aqui. Digite esta fórmula e copie:

=GetEmailAddress(A2)

Concateneosendereçosdee-mailemquevocêestáinteressadoemoutracélulaecrieumhiperlinkparaoresultado:

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

Isso produz um link dizendo email people como mostrado na célula D4 na captura de tela. Quando você clica no link, ele envia a lista de endereços para o seu cliente de e-mail.

Observação - porque adicionamos alguns códigos VBA necessários para salvar o arquivo como um arquivo .xls ou .xlsm.

    
por 04.05.2016 / 13:31
0

Como a resposta aceita envolve a criação de uma coluna extra e, na verdade, não estou muito preocupado em ter um hyperlink final - estou muito feliz em apenas copiar e colar uma string no programa de e-mail - adaptei o texto aceito. responder com esta função. Pode ser útil para alguém que faz algo semelhante e não funcionou como comentário.

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 
    
por 04.05.2016 / 14:24