Como substituir texto no corpo de uma mensagem recebida por um hiperlink no Outlook 2010?

6

Alguém sabe de uma maneira ou de um programa que lerá um e-mail recebido e reconhecerá um formato estático de texto (no meu caso será "#" seguido por 6 inteiros), e fará disso um hiperlink para uma página da web?

Eu tenho que pensar que algo semelhante existe. Isso funcionaria da mesma maneira que, quando você digita "www.google.com" e pressiona Enter ou espaço, ele converte isso automaticamente em um hiperlink. Isso é para um e-mail composto, estou procurando por isso em e-mails recebidos.

    
por ikathegreat 20.08.2012 / 18:32

1 resposta

20

Você está tentando hiperlink automaticamente para erros no seu aplicativo de rastreamento de erros / defeitos?

O mais fácil é modificar o software que envia o email para criar os próprios hiperlinks ...

Se você ainda quiser fazer isso manualmente, aqui está um guia rápido que eu criei em conjunto e que parece funcionar (testado MUITO levemente, mas faz o que ele foi projetado para fazer).

Etapa 1 : ative a guia Desenvolvedor na faixa de opções

Clique em Opções:

CliqueemPersonalizarFaixadeOpçõese,emseguida,cliquenacaixadeseleçãoDesenvolvedor:

Etapa 2 : vá para o VBA e insira o código

Clique em Visual Basic:

CliqueduasvezesnomóduloThisOutlookSessionecoleocódigodaseguinteforma:

E agora, o código:

Option Explicit

Sub InsertHyperLink(MyMail As MailItem)
    Dim body As String, re As Object, match As Variant

    body = MyMail.body
    Set re = CreateObject("vbscript.regexp")
    re.Pattern = "#[0-9][0-9][0-9][0-9][0-9][0-9]"

    For Each match In re.Execute(body)
        body = Replace(body, match.Value, "http://example.com/bug.html?id=" & Right(match.Value, 6), 1, -1, vbTextCompare)
    Next

    MyMail.body = body
    MyMail.Save
End Sub

Clique no ícone Salvar ou pressione Ctrl+S .

Etapa 3 : crie uma regra personalizada executando um script.

Ir para gerenciar regras e amp; Alertas:

CliqueemNovaRegra...:

Clique em "Aplicar regra às mensagens que recebo" e, em seguida, clique em Avançar:

Sevocêquiserapenasexecutararegraemdeterminadasmensagens,poderáselecionarqualquerumadascondiçõesaqui.Nãosepreocupeemfiltrarmensagenscontendo"# 123456" no corpo; nós fazemos isso no código. Portanto, basta filtrar, por exemplo, "De:" ou o Assunto, se desejar. Isso é opcional .

Escolha"Executar um script". Clique no texto que diz "um script" em sublinhado azul na caixa inferior.

Escolhaoscriptqueacabamosdecriar,cujonomeprovavelmenteserácortadodevidoàpequenacaixadediálogo,mastudobem.

Neste ponto, você pode simplesmente clicar em "Next" e "Finish" na parte inferior repetidamente até que as caixas de diálogo desapareçam; você deveria estar pronto.

Agora, tente e escreva um e-mail para você mesmo (ou receba um e-mail do remetente ou da linha de assunto que você está esperando, se você especificou uma condição personalizada) e insira um número como:

#123456

no corpo e envie-o.

Quando você receber a mensagem de e-mail, ela deverá ter como URL para http://example.com/bug.html?id=123456 (onde "123456" é substituído pelos 6 números que você escolheu).

Você pode personalizar o código de script para apontar para um URL diferente, modificando a sequência de URL dentro do código. Você também pode fazer mais coisas exóticas para manter ou remover o número ou várias outras coisas.

Esta resposta levou toda a minha hora de almoço, então se você acha que valeu a pena, por favor, lembre-se de votar ... Deixe-me saber nos comentários se você tiver alguma dificuldade ou dúvida.

Muito útil StackOverflow pergunta, que pelo menos me deu uma abordagem de viabilidade para implementar isso: Anexar Cabeçalho de Assunto no Outlook (VBA)

    
por 20.08.2012 / 19:37