vba - 如何在 If 语句中使用 AND 应用两个条件?
问题描述
我正在尝试根据回复时放置在邮件正文中的单词将电子邮件从Inprogress Folder移动到Completed Folder 。
- 如果回复邮件中包含Completed字样,则必须将回复邮件移至Completed Folder。
- 如果回复邮件有Canceled字样,则必须将回复邮件移动到 Canceled Folder。
我尝试了下面的代码,但它抛出
编译错误:异常表达式
错误是因为这两条线。
If InStr(1,olMail.Body, "Completed") And
If InStr(1, Item.Subject, olObj.Subject) > 0
完整代码:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim olNameSpace As NameSpace
Set olNameSpace = GetNamespace("MAPI")
Dim olDestFolder As folder
Set olDestFolder = olNameSpace.Folders("xxx@xxx.com").Folders("Completed")
Dim olLookUpFolder As folder
Set olLookUpFolder = olNameSpace.Folders("xxx@xxx.com").Folders("InProgress")
' olMail is a Class. Avoid as a variable name
'Dim olMail As MailItem
Dim olObj As Object ' Outlook items are not necessarily mailitems
For Each olObj In olLookUpFolder.Items 'loop through Tickets folder to find original mail
If olObj.Class = olMail Then
If InStr(1,olMail.Body, "Completed") And
If InStr(1, Item.Subject, olObj.Subject) > 0 Then 'look for olObj.Subject in Item.Subject
olObj.Move olDestFolder ' move to InProgress folder
Exit For
End If
End If
Next
End Sub
解决方案
你想写
If InStr(1,olMail.Body, "Completed") > 0 And InStr(1, Item.Subject, olObj.Subject) > 0 Then 'look for olObj.Subject in Item.Subject
olObj.Move olDestFolder ' move to InProgress folder
Exit For
End If
推荐阅读
- python - 如何在 python 中分隔字段和路径 gps 坐标?
- javascript - javascript正则表达式从特定字符串的第n行查找字符串
- c# - 从文本框中读取 sql 字符串并在 datagridview 中显示
- php - 在laravel中将数组转换为对象
- python - 名称错误:使用函数时未定义名称“x”
- hadoop - 如果在 impala statestore 关闭时执行 DDL,为什么 Impala 查询会失败?
- c# - 将 MP3 转换为文件大小较小的 WAV
- xml - 使用 xquery 或 XSLT v 1.0 读取 XML 文档中的命名空间
- scala - 如何使用索引执行 EitherT[Future, Failure, Iterator[A]] 映射
- api - 我想在 API Connect 中创建一个 API 来修改请求标头