Meneruskan Email Outlook dengan Memfilter menggunakan Aturan Makro


0

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 "alias@domain.com"
                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.


"berisi <" - jika Anda hanya mencari satu karakter itu, maka pola Anda seharusnya "<".
Máté Juhász

Apa pertanyaannya? Maksud saya Anda telah membagikan beberapa kode tetapi tidak menjelaskan bagian mana yang berfungsi / tidak berfungsi.
Dave

Sepertinya Anda telah membuat akun kedua, yang juga akan mengganggu kemampuan Anda untuk berkomentar di utas Anda dan menerima jawaban. Lihat Bagaimana satu tautan / gabung / gabungkan / kaitkan dua akun / pengguna? dan / atau saya secara tidak sengaja membuat dua akun; bagaimana cara menggabungkan mereka? untuk panduan tentang cara menggabungkan akun Anda.
DavidPostill

Jawaban:


0

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

Pattern = "(< )"

Ini akan cocok dengan <dan spasi putih setelahnya. Dengan demikian

<60tidak cocok < 60tidak cocok < 60tidak cocok <60tidak cocok < Hellomelakukan pertandingan

Saya menunjukkan yang terakhir kepada saya yang mungkin menjadi masalah jika seseorang menggunakan tanda kutip untuk alasan lain ... <End Of Message>

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.