Outlook, Rules Wizard, tìm kiếm văn bản bao gồm ký tự tab?


1

Tôi đang cố gắng tìm kiếm Changed by:{TAB}My Nametrong phần thân của một email trong Trình hướng dẫn quy tắc Outlook. trong đó {TAB} là một ký tự tab.

Tuy nhiên, có vẻ như nó sẽ không cho phép tôi nhập một ký tự tab.

Tôi không thể chỉ tìm kiếm hai mục Changed by:My Namevì tên của tôi xuất hiện nhiều lần và được thay đổi bởi đó là một trường tiêu chuẩn.

Tôi đang sử dụng MS Office 2010

Có cách nào khác để đạt được điều này?


Vẫn đang tìm kiếm câu trả lời
Jules

Câu trả lời:


1

Tôi đã có thể nhúng một tab vào chuỗi tìm kiếm bằng cách nhấn Control + i khi nhập nó nhưng điều này không khớp với các thư trên máy chủ thư của tôi. Khi tôi kiểm tra các ký tự thực tế trong phần thân thông điệp của tin nhắn nhận được, tôi thấy rằng ký tự {TAB} thực tế đã được dịch thành sáu ký tự \ u00A0 (unicode) theo sau là một ký tự khoảng trắng. Điều này ngăn chuỗi tìm kiếm khớp. Bạn có thể muốn thử phương pháp này trước để xem nó có hoạt động với email của bạn không.

Là một giải pháp thay thế, bạn có thể tạo quy tắc "tùy chỉnh" bằng cách thêm macro Visual Basic cho Ứng dụng vào Outlook.

  1. Trước tiên, bật menu Nhà phát triển bằng cách đi tới Outlook -> Tùy chọn -> Tùy chỉnh Ribbon và sau đó kiểm tra tùy chọn Nhà phát triển trong danh sách Tab chính ở bên phải.
  2. Bây giờ quay lại giao diện Outlook chính của bạn, bạn sẽ thấy menu Nhà phát triển , chọn nó
  3. Nhấp vào nút Bảo mật Macro trên ruy-băng và chọn "Thông báo cho tất cả các macro" hoặc "Bật tất cả các macro (không được đề xuất; mã nguy hiểm tiềm tàng có thể chạy)
  4. Tiếp theo, nhấp vào nút Visual Basic trên ruy-băng để mở trình soạn thảo Visual Basic
  5. Đi đến Công cụ -> Tham chiếu và thêm tham chiếu vào thư viện Microsoft VBScript Biểu thức chính quy 5.5
  6. Trong trình chỉnh sửa Visual Basic, chọn ThisOutlookSession và dán mã được liệt kê bên dưới.
  7. Lưu dự án của bạn và thoát Outlook
  8. Mở lại Outlook và gửi cho mình một tin nhắn thử nghiệm

Bạn sẽ cần chỉnh sửa nội dung chuỗi của các hằng số RouteToFolderNameRouteToFolderRegEx để phù hợp với sở thích tìm kiếm của bạn.

Macro được lưu vào một tệp có tên VBAProject.OTM nằm trong khu vực cài đặt người dùng của bạn (C: \ Users \\ AppData \ Roaming \ Microsoft \ Outlook \ thư mục trên Windows 7). Bạn có thể tạo một bản sao lưu của tệp này sau khi bạn đã nhận được macro hoạt động theo thông số kỹ thuật của bạn.


Tùy chọn rõ ràng

Private WithEvents olInboxItems As Item

'Đây là tên của thư mục bạn muốn tin nhắn của mình được chuyển đến Private Const RouteToFolderName As String = "FollowUp"

'Đây là biểu thức chính quy phù hợp với văn bản bạn đang tìm kiếm. Outlook đã thay thế một ký tự {TAB} bằng các ký tự '6 x \ u00A0 và 1 x dấu cách. Tuyến đường riêng ConstToFolderRegex dưới dạng chuỗi = "Thay đổi bởi: \ u00A0 + \ s + Me"

Ứng dụng phụ riêng tư

Private Sub olInboxItems_ItemAdd (ByVal Item As Object) Dim objNS As NameSpace Dim objMailItem As Outlook.MailItem Dim objMailFolderId As String Dim regex As RegExp Dim Found As Boolean

' Check to make sure we have a mail message first
If (TypeOf Item Is Outlook.MailItem) Then

    ' Locate the id of the folder we want to store the message in
    objMailFolderId = FindFolderByName(Application.Session.folders, Found,

RouteToFolderName)

    Set objMailItem = Item

    Set regex = New RegExp
    regex.IgnoreCase = True  ' Do a case insensitive search
    regex.Global = True
    regex.Pattern = RouteToFolderRegex

    ' Test the message body against the regular expression
    If (regex.Test(objMailItem.Body)) Then
        ' Message body matched so move to our folder
        objMailItem.Move Application.Session.GetFolderFromID(objMailFolderId)
    End If
End If
 End Sub

'Tìm kiếm đệ quy từ thư mục gốc để tìm thư mục khớp với "thư mục Tên" (không phân biệt chữ hoa chữ thường)

For Each objFolder In folders
    If Found = True Then
        Exit Function
    End If

    If LCase(objFolder.Name) = LCase(folderName) Then
        FindFolderByName = objFolder.EntryID
        Found = True
        Exit Function
    Else
        If objFolder.folders.Count > 0 Then
            FindFolderByName = FindFolderByName(objFolder.folders, Found, folderName)
        End If
    End If
Next End Function

0

Hãy thử tìm kiếm Changed by:^tMy Name.

Nếu điều đó không hiệu quả, hãy thử nhập toàn bộ chuỗi tìm kiếm, bao gồm cả ký tự tab bình thường, trong Wordman, sau đó cắt và dán vào tìm kiếm.

Nếu điều đó vẫn không hoạt động, thì hãy làm điều tương tự nhưng sử dụng Tìm kiếm nâng cao .


Không hoạt động :(, tôi không muốn phải sử dụng tìm nâng cao mỗi lần
Jules

0

Bạn có thể nhập một ký tự tab từ bàn phím bằng cách sử dụng bàn phím số với NumLock được tham gia. Mã thập lục phân ASCII cho ký tự tab là "09". Giữ phím Alt và gõ "09" trên bàn phím số. Khi bạn nhả phím Alt, một ký tự tab được tạo.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.