私はこのOutlookスクリプトの例を見てきましたが、これは私にとって似たような素晴らしいスタートです: 件名を編集するためのOutlookスクリプト
ただし、より複雑な文字列操作を必要とするより難しい方法で、到着時に着信メッセージの件名を変更する必要があります。
これは実際に私が使用したベースコードであり、最新の状態で機能します。
Sub ConvertToPlain(MyMail As MailItem)
Dim strID As String
Dim objMail As Outlook.MailItem
strID = MyMail.EntryID
Set objMail = Application.Session.GetItemFromID(strID)
objMail.Subject = Left(objMail.Subject, 18)
objMail.Save
Set objMail = Nothing
End Sub
さて、私は元の主題が常に次の形式になっています(括弧内はすべて変数です):
Ticket [#] - [SOMETHING] - [SOMETHING] - [TITLE]
ご覧のとおり動的に変化する「[SOMETHING]-[SOMETHING]-」を削除し、以下のみを保持したいと思います。
Ticket [#] - [TITLE]
このようにして、Outlookで簡単に並べ替え/フィルタリングを行うことができます。これはVBAでどのように達成できますか?ありがとうございました。
最善の策は、必要な部分を正規表現するか、形式が常にこの形式であることがわかっている場合は、-の文字列を分割して、最初と最後の文字列を取得することです。
の線に沿って:
Sub ConvertToPlain(MyMail As MailItem)
Dim strID As String
Dim objMail As Outlook.MailItem
Dim splitSubject() as String
Dim concatSubject as String
strID = MyMail.EntryID
Set objMail = Application.Session.GetItemFromID(strID)
splitSubject = Split(objMail.Subject, "-")
concatSubject = splitSubject(LBound(splitSubject)) & " - " & splitSubject(UBound(splitSubject))
objMail.Subject = concatSubject
objMail.Save
Set objMail = Nothing
End Sub
そのコードは完全にテストされていませんが、うまくいけば、ある程度軌道に乗ることができます。