You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并Lotus Notes邮件读取与匹配转发VBA模块实现自动运行

合并实现方案

核心优化思路

  • 预加载A列邮箱、B列匹配规则到内存数组,避免遍历邮件过程中反复读取工作表,运行效率更高
  • 取消冗余的单元格读写操作,直接用内存变量存储当前邮件主题,减少不必要的工作表IO;如果需要保留C1展示当前处理主题的可视化效果,可保留对应写入逻辑
  • 匹配逻辑直接嵌入邮件遍历循环,每读取一封邮件立刻执行匹配校验,匹配成功直接触发转发,无需等待全部邮件读取完成

合并后完整代码

Sub AutoForwardMatchEmails()
    Dim NSession As Object, NMailDb As Object
    Dim v As Object, vn As Object, e As Object, doc As Object
    Dim View As String, lastrow As Long, matchArr As Variant
    Dim currSubject As String, i As Long
    
    ' 配置Notes视图参数
    View = "$All"
    
    ' 初始化Notes连接
    Set NSession = CreateObject("Notes.NotesSession")
    Set NMailDb = NSession.GetDatabase("", "")
    If Not NMailDb.IsOpen Then
        NMailDb.OPENMAIL
    End If
    
    ' 预加载匹配规则到内存数组,仅读取1次工作表
    lastrow = ActiveSheet.Range("A30000").End(xlUp).Row
    matchArr = ActiveSheet.Range("A1:B" & lastrow).Value
    
    ' 初始化邮件遍历器
    Set v = NMailDb.GetView(View)
    Set vn = v.CreateViewNav()
    Set e = vn.GetFirstDocument()
    
    ' 遍历所有邮件
    Do While Not (e Is Nothing)
        Set doc = e.Document
        ' 读取当前邮件主题
        currSubject = doc.GetItemValue("subject")(0)
        
        ' 可选:保留C1写入逻辑,可视化展示当前处理的邮件主题
        Range("C1").Value = currSubject
        
        ' 执行匹配校验
        For i = 1 To UBound(matchArr, 1)
            ' 不区分大小写匹配
            If InStr(1, LCase(currSubject), LCase(matchArr(i, 2)), vbTextCompare) > 0 Then
                ' 匹配成功触发转发
                Forward_Email currSubject, matchArr(i, 1)
                ' 若同一主题仅需匹配第一条规则,可取消下一行注释
                ' Exit For
            End If
        Next i
        
        ' 处理下一封邮件
        Set e = vn.GetNextDocument(e)
    Loop
    
    ' 释放对象
    Set e = Nothing: Set vn = Nothing: Set v = Nothing
    Set NMailDb = Nothing: Set NSession = Nothing
End Sub

注意事项

  • 运行前需保持Lotus Notes收件箱已打开,和原有运行要求一致
  • 若B列存在重复的匹配规则,同一封邮件会触发多次转发,可根据业务需要开启匹配后跳出循环的逻辑
  • 可自行调整InStr函数的参数,修改为区分大小写匹配、全字匹配等规则
  • 如果需要标记已处理邮件避免重复转发,可在匹配成功后给Notes邮件添加已处理标记,下次遍历跳过已标记邮件

内容的提问来源于stack exchange,提问作者Drawleeh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:42:02