Outlook 2010 で受信メッセージの本文のテキストをハイパーリンクに置き換える方法を教えてください。

Outlook 2010 で受信メッセージの本文のテキストをハイパーリンクに置き換える方法を教えてください。

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

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

答え1

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

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

それでも手動で実行したい場合は、私が作成した、機能すると思われる簡単なガイドがあります (非常に軽くテストしましたが、名目上は設計どおりに機能します)。

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

オプションをクリックします: オプションをクリック

[リボンのカスタマイズ] をクリックし、[開発] チェックボックスをクリックします。 リボンのカスタマイズをクリック

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

Visual Basicをクリックします:
Visual Basicへ移動

ダブルクリックしてこのOutlookセッションモジュールを作成し、次のコードを貼り付けます。 コードを入力する

さて、コードは次のようになります。

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: スクリプトを実行するカスタム ルールを作成します。

ルールとアラートの管理に移動します。 ルールとアラートの管理へ進む

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

「受信したメッセージにルールを適用する」をクリックし、「次へ」をクリックします。 受信したメッセージにルールを適用する

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

「スクリプトを実行」を選択します。下部のボックスにある青い下線付きの「スクリプト」というテキストをクリックします。 スクリプトアクションを実行する

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

スクリプトを選択してください

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

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

#123456

体内に取り込み、送信します。

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

コード内の URL 文字列を変更することで、スクリプト コードをカスタマイズして別の URL を指すようにすることができます。また、数字を保持または削除したり、その他のさまざまな操作を実行したりすることもできます。

この回答には昼休み全体を費やしました。価値があると思ったら、ぜひ投票してください。何か難しいことや質問がある場合は、コメントでお知らせください。

非常に役立ちますStackOverflow の質問。少なくともこれを実装するための実現可能なアプローチを教えてくれました。Outlook で件名ヘッダーを追加する (VBA)

関連情報