特定の件名の特定のアドレスから電子メールを受信した場合に、次のスクリプトを実行しています。目標は、電子メールの受信者が元のメッセージの本文に含めるのに役立つハイパーリンクを電子メールにタグ付けすることです。
Option Explicit
Sub Megatron(MyMail As MailItem)
Dim objOL As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim strID As String
Dim strLink As String
Dim strNewText As String
Dim strLinkText As String
'On Error Resume Next
Set objOL = Application
strID = MyMail.EntryID
Set MyMail = Application.Session.GetItemFromID(strID)
If Not MyMail Is Nothing Then
Set objNS = objOL.Session
MyMail.BodyFormat = olFormatHTML
If MyMail.BodyFormat = olFormatHTML Then
MsgBox ("set to html")
End If
strLink = "http://www.example.com"
strLinkText = "Click on this Example!"
strNewText = "<p><a href=" & Chr(34) & strLink & _
Chr(34) & ">" & strLinkText & "</a></p>"
MyMail.HTMLBody = Replace(MyMail.HTMLBody, "</body>", _
strNewText, 1, 1, vbTextCompare)
MyMail.Save
MsgBox ("Hyperlink appended!")
Else
MsgBox ("Failure!")
End If
End Sub
適切なイベントが発生したことを示すメッセージ ボックスが表示されますが、実際には変更が行われていない (または適切に保存されていない) ように見えます。
これは、あらゆる種類のプログラミングで行った最初の作業です。特にVBのチュートリアルをいくつか見てきましたが、これは初めてです。どんな助け/指導も大歓迎です!