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

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

Alguém conhece uma forma ou programa que leia um e-mail recebido e reconheça um formato estático de texto (no meu caso será "#" seguido de 6 números inteiros) e faça 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 automaticamente em um hiperlink. Isso é para um email composto, procuro isso nos emails recebidos.

Responder1

Você está tentando criar um hiperlink automaticamente para bugs em seu aplicativo de rastreamento de bugs/defeitos?

A coisa mais fácil a fazer seria modificar o software que envia o e-mail para criar os próprios hiperlinks...

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

Passo 1: Habilite a guia Desenvolvedor na faixa de opções

Clique em Opções: clique em Opções

Clique em Personalizar faixa de opções e, em seguida, clique na caixa de seleção Desenvolvedor: clique em Personalizar faixa de opções

Passo 2: Vá para o VBA e insira o código

Clique em Visual Basic:
Vá para o Visual Basic

Clique duas vezes noEsta sessão do Outlookmódulo e cole o código da seguinte forma: Coloque o código

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.

Vá para Gerenciar regras e alertas: Vá para Gerenciar regras e alertas

Clique em Nova regra...: Clique em Nova regra...

Clique em "Aplicar regra nas mensagens que recebo" e clique em Avançar: Aplicar regra nas mensagens que recebo

Se quiser executar a regra apenas em determinadas mensagens, você pode selecionar qualquer uma das condições aqui. Não se preocupe em filtrar mensagens que contenham "#123456" no corpo; fazemos isso no código. Portanto, basta filtrar, por exemplo, “De:” ou o Assunto, se desejar.Isso é opcional. Selecione as condições

Escolha "Executar um script". Clique no texto que diz “um script” em sublinhado azul na caixa inferior. Execute uma ação de script

Escolha o script que acabamos de criar, cujo nome provavelmente será cortado devido à pequena caixa de diálogo, mas tudo bem.

Escolha seu roteiro

Neste ponto, você pode simplesmente clicar em “Avançar” e “Concluir” na parte inferior repetidamente até que as caixas de diálogo desapareçam; você deveria terminar.

Agora tente escrever um e-mail para você mesmo (ou receber um e-mail do remetente ou da linha de assunto que você espera, 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 um 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 do script para apontar para um URL diferente modificando a sequência do URL no código. Você também pode fazer coisas mais exóticas para manter ou remover o número, ou várias outras coisas.

Essa resposta ocupou todo o meu horário de almoço, então se você acha que valeu a pena, lembre-se de votar... Deixe-me saber nos comentários se tiver alguma dificuldade ou dúvida.

Muito útilPergunta StackOverflow, que pelo menos me deu uma abordagem de viabilidade para implementar isso:Anexar cabeçalho de assunto no Outlook (VBA)

informação relacionada