受信した電子メールを読み取り、静的な形式のテキスト(私の場合は「#」の後に6つの整数が続く)を認識し、それをWebページへのハイパーリンクにする方法またはプログラムを知っている人はいますか?
似たようなものが存在すると思います。これは、「www.google.com」と入力してEnterキーまたはスペースキーを押すと、これが自動的にハイパーリンクに変換されるのと同じように機能します。それは作成されたメール用です、私は受信したメールでこれを探しています。
バグ/欠陥追跡アプリケーションのバグに自動的にハイパーリンクしようとしていますか?
最も簡単なことは、電子メールを送信するソフトウェアを変更して、ハイパーリンク自体を作成することです...
それでも手動で実行したい場合は、一緒にハッキングしたクイックガイドが機能しているようです(非常に軽くテストされていますが、名目上は設計どおりに動作します)。
ステップ1:リボンの[開発者]タブを有効にします
[オプション]をクリックします。
[リボンのカスタマイズ]をクリックしてから、[開発者]チェックボックスをクリックします。
ステップ2:VBAに移動し、コードを入力します
VisualBasicをクリックします。
ThisOutlookSessionモジュールをダブルクリックし、次のようにコードを貼り付けます。
そして今、コード:
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
体に入れて送ってください。
メールメッセージを受け取ると、http://example.com/bug.html?id=123456
へのURLとして含まれている必要があります(「123456」は選択した6つの数字に置き換えられます)。
コード内のURL文字列を変更することにより、別のURLを指すようにスクリプトコードをカスタマイズできます。また、番号を保持または削除するために、よりエキゾチックなことを行うこともできます。
この回答は私の昼食時間全体を要したので、それが価値があると思うなら、投票することを忘れないでください...何か問題や質問があればコメントで知らせてください。
非常に役立つStackOverflowの質問。これにより、少なくともこれを実装するための実現可能性のアプローチが得られました。 Outlook(VBA)で件名ヘッダーを追加