web-dev-qa-db-ja.com

Outlook 2010で受信メッセージの本文のテキストをハイパーリンクに置き換えるにはどうすればよいですか?

受信した電子メールを読み取り、静的な形式のテキスト(私の場合は「#」の後に6つの整数が続く)を認識し、それをWebページへのハイパーリンクにする方法またはプログラムを知っている人はいますか?

似たようなものが存在すると思います。これは、「www.google.com」と入力してEnterキーまたはスペースキーを押すと、これが自動的にハイパーリンクに変換されるのと同じように機能します。それは作成されたメール用です、私は受信したメールでこれを探しています。

7
ikathegreat

バグ/欠陥追跡アプリケーションのバグに自動的にハイパーリンクしようとしていますか?

最も簡単なことは、電子メールを送信するソフトウェアを変更して、ハイパーリンク自体を作成することです...

それでも手動で実行したい場合は、一緒にハッキングしたクイックガイドが機能しているようです(非常に軽くテストされていますが、名目上は設計どおりに動作します)。

ステップ1:リボンの[開発者]タブを有効にします

[オプション]をクリックします。 click Options

[リボンのカスタマイズ]をクリックしてから、[開発者]チェックボックスをクリックします。 click Customize Ribbon

ステップ2:VBAに移動し、コードを入力します

VisualBasicをクリックします。
Go to Visual Basic

ThisOutlookSessionモジュールをダブルクリックし、次のようにコードを貼り付けます。 Put in the code

そして今、コード:

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

保存アイコンをクリックするか、Ctrl+Sを押します。

ステップ3:スクリプトを実行するカスタムルールを作成します。

ルールとアラートの管理に移動します。 Go to Manage Rules & Alerts

[新しいルール...]をクリックします。 Click New Rule...

[受信したメッセージにルールを適用する]をクリックしてから、[次へ]をクリックします。 Apply rule on messages I receive

特定のメッセージに対してのみルールを実行する場合は、ここで任意の条件から選択できます。本文に「#123456」を含むメッセージのフィルタリングについて心配する必要はありません。コードでそれを行います。したがって、必要に応じて、たとえば「From:」または件名でフィルタリングするだけです。 これはオプションです。 Select conditions

「スクリプトの実行」を選択します。下のボックスにある青い下線で「スクリプト」と書かれているテキストをクリックします。 Run a script action

作成したばかりのスクリプトを選択します。ダイアログが小さいために名前が途切れる可能性がありますが、問題ありません。

Pick your script

この時点で、ダイアログが消えるまで、下部にある[次へ]と[完了]を繰り返しクリックするだけです。やるべきです。

次に、自分宛ての電子メールを作成して(または、カスタム条件を指定した場合は、期待する送信者または件名から電子メールを受信します)、次のような番号を挿入します。

#123456

体に入れて送ってください。

メールメッセージを受け取ると、http://example.com/bug.html?id=123456へのURLとして含まれている必要があります(「123456」は選択した6つの数字に置き換えられます)。

コード内のURL文字列を変更することにより、別のURLを指すようにスクリプトコードをカスタマイズできます。また、番号を保持または削除するために、よりエキゾチックなことを行うこともできます。

この回答は私の昼食時間全体を要したので、それが価値があると思うなら、投票することを忘れないでください...何か問題や質問があればコメントで知らせてください。

非常に役立つStackOverflowの質問。これにより、少なくともこれを実装するための実現可能性のアプローチが得られました。 Outlook(VBA)で件名ヘッダーを追加

22
allquixotic