.Find 的符号 (&) 错误
Ampersand (&) error with .Find
我创建了一个程序,可以在我的 outlook 电子邮件中搜索特定的主题行。它工作得很好,但是每当我要搜索的字符串之一包含“&”符号时,我都会收到错误消息。这是我正在使用的代码示例。
Dim olApp As Outlook.Application
Dim olNs As Namespace
Dim olFldr As MAPIFolder
Dim olMi As MailItem
Dim olItms As Items
Dim subj As String
Set olApp = GetObject(, "Outlook.Application")
Set olNs = olApp.GetNamespace("MAPI")
Set olFldr = olNs.GetDefaultFolder(olFolderInbox)
Set olItms = olFldr.Items
subj = "Life&Health Insurance"
Set olMi = olItms.Find("[Subject] = " & subj)
当它遇到任何带有&符号的东西时,我得到一个"condition is not valid"错误。请帮忙。
尝试使用 Chr(38) 语句声明字符串变量:
Dim olApp As Outlook.Application
Dim olNs As Namespace
Dim olFldr As MAPIFolder
Dim olMi As MailItem
Dim olItms As Items
Dim subj As String
Set olApp = GetObject(, "Outlook.Application")
Set olNs = olApp.GetNamespace("MAPI")
Set olFldr = olNs.GetDefaultFolder(olFolderInbox)
Set olItms = olFldr.Items
Set subj = "Life" & Chr(38) & "Health Insurance"
Set olMi = olItms.Find("[Subject] = " & Chr(34) & subj & Chr(34))
此外,在过滤文本字段时,您可以使用一对单引号 (') 或一对双引号 (") 来分隔属于过滤器一部分的值。请参阅 Find MSDN中描述的class项的方法。
我创建了一个程序,可以在我的 outlook 电子邮件中搜索特定的主题行。它工作得很好,但是每当我要搜索的字符串之一包含“&”符号时,我都会收到错误消息。这是我正在使用的代码示例。
Dim olApp As Outlook.Application
Dim olNs As Namespace
Dim olFldr As MAPIFolder
Dim olMi As MailItem
Dim olItms As Items
Dim subj As String
Set olApp = GetObject(, "Outlook.Application")
Set olNs = olApp.GetNamespace("MAPI")
Set olFldr = olNs.GetDefaultFolder(olFolderInbox)
Set olItms = olFldr.Items
subj = "Life&Health Insurance"
Set olMi = olItms.Find("[Subject] = " & subj)
当它遇到任何带有&符号的东西时,我得到一个"condition is not valid"错误。请帮忙。
尝试使用 Chr(38) 语句声明字符串变量:
Dim olApp As Outlook.Application
Dim olNs As Namespace
Dim olFldr As MAPIFolder
Dim olMi As MailItem
Dim olItms As Items
Dim subj As String
Set olApp = GetObject(, "Outlook.Application")
Set olNs = olApp.GetNamespace("MAPI")
Set olFldr = olNs.GetDefaultFolder(olFolderInbox)
Set olItms = olFldr.Items
Set subj = "Life" & Chr(38) & "Health Insurance"
Set olMi = olItms.Find("[Subject] = " & Chr(34) & subj & Chr(34))
此外,在过滤文本字段时,您可以使用一对单引号 (') 或一对双引号 (") 来分隔属于过滤器一部分的值。请参阅 Find MSDN中描述的class项的方法。