Bisakah kalian membantu saya memperbaiki skrip di bawah ini. Yang saya butuhkan adalah jika badan email berisi <itu akan meneruskan ke email pribadi saya. Saya menggunakan Outlook 2010. Ini adalah contoh teks email:
"Itu cepat! Hanya perlu <60 detik untuk mem-boot ulang modem."
Jika ada spasi antara <dan 60, itu akan diteruskan ke email saya tetapi jika tidak ada ruang, itu tidak akan diteruskan.
Public Sub FWItem(Item As Outlook.mailitem)
Dim Email As Outlook.mailitem
Dim Matches As Variant
Dim RegExp As Object
Dim Pattern As String
Set RegExp = CreateObject("VbScript.RegExp")
If TypeOf Item Is Outlook.mailitem Then
Pattern = "(\s[<]\s)"
With RegExp
.Global = False
.Pattern = Pattern
.IgnoreCase = True
Set Matches = .Execute(Item.Body)
End With
If Matches.Count > 0 Then
Debug.Print Item.subject ' Print on Immediate Window
Set Email = Item.Forward
Email.subject = Item.subject
Email.Recipients.Add "[email protected]"
Email.Save
Email.Send
End If
End If
Set RegExp = Nothing
Set Matches = Nothing
Set Email = Nothing
Set Item = Nothing
End Sub
Berikut adalah pola yang saya gunakan untuk memfilter badan email:
Pattern = "(\s[<]\s)"
Tetapi itu tidak berhasil.
vba
microsoft-outlook-2010
regex
pengguna734594
sumber
sumber
"<"
.Jawaban:
Pertanyaan Anda tidak jelas. Saya berasumsi bahwa masalahnya ada pada regex, dan bukan karena emailnya tidak terkirim (atau alasan lain).
Saya pikir pola Anda perlu sederhana
Jadi dalam kode Anda, Anda akan menggunakan
Ini akan cocok dengan <dan spasi putih setelahnya. Dengan demikian
<60
tidak cocok< 60
tidak cocok< 60
tidak cocok<60
tidak cocok< Hello
melakukan pertandinganSaya menunjukkan yang terakhir kepada saya yang mungkin menjadi masalah jika seseorang menggunakan tanda kutip untuk alasan lain ... <End Of Message>
sumber