⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modmailmenu.bas

📁 智能邮件管理信息系统
💻 BAS
📖 第 1 页 / 共 3 页
字号:
        blnIsBusy = True
        '如果是发件箱,修改打开邮件为 新增邮件
        If frmMain.ctlMailList.mlngViewID = 3 Then
            Dim mlngCurrentSelectID As Long
            mclsMailTemplate1.GetMailTemplate 0, m_MailTemplate
            blnIsBusy = True
            #If SubClass = 1 Then
            mlngCurrentSelectID = ModMailDll.AddMail(m_MailTemplate, m_E_ViewMode, IIf(m_E_ViewMode = m_ServerMode, 0, gLngEmployeeID1), gLngOwnDefineTreeID, mclsMailCreator1)
            #End If
            
            If mlngCurrentSelectID > 0 Then
                If ModMailDll.BlnExcuteSendMail(mclsMailCreator1) Then
                    frmMain.m_CSmtpInterface.SendAMail mlngCurrentSelectID, True
                End If
                frmMain.RefreshMailList
                frmMain.RefreshTreeView
            End If
            blnIsBusy = False
        Else
            Set mclsMailCreator1 = GetMailCls
            ModMailDll.EditMail frmMain.ctlMailList.mlngCurrentSelectID, gLngEmployeeID1, mclsMailCreator1
            If ModMailDll.BlnExcuteSendMail(mclsMailCreator1) Then
                frmMain.m_CSmtpInterface.SendAMail frmMain.ctlMailList.mlngCurrentSelectID, True
            End If
            
            frmMain.RefreshMailList
            frmMain.RefreshTreeView
        End If
        
        blnIsBusy = False
    Case UCase("PRINTMAIL")
        If frmMain.ctlMailList.mlngCurrentSelectID > 0 Then frmMain.ctlMailBrowser.PrintDoc
    Case UCase("RESENDER") '回复发件人
        blnIsBusy = True
        Set mclsMailCreator1 = GetMailCls
        lngCurrentID = ModMailDll.Writeback(frmMain.ctlMailList.mlngCurrentSelectID, gLngEmployeeID1, mclsMailCreator1)
        If ModMailDll.BlnExcuteSendMail(mclsMailCreator1) Then
            frmMain.m_CSmtpInterface.SendAMail lngCurrentID, True
        End If
        frmMain.RefreshMailList
        frmMain.RefreshTreeView
        
        blnIsBusy = False
    Case UCase("OwnDefine")
        Dim p As New PView1.clsView1
        p.Init gdbCurrentDB, frmMain.ctlMailList.mlngViewID
        p.EditView1ShowDialog frmMain.ctlMailList.mlngViewID
    Case UCase("REALLMAIL") '全部回复发件人
        blnIsBusy = True
        Set mclsMailCreator1 = GetMailCls
        lngCurrentID = ModMailDll.WriteBackAll(frmMain.ctlMailList.mlngCurrentSelectID, gLngEmployeeID1, mclsMailCreator1)
        If ModMailDll.BlnExcuteSendMail(mclsMailCreator1) Then
            frmMain.m_CSmtpInterface.SendAMail lngCurrentID, True
        End If
        frmMain.RefreshMailList
        frmMain.RefreshTreeView
        
        blnIsBusy = False
    Case UCase("RESENDMAIL") '转发信件
        blnIsBusy = True
        Set mclsMailCreator1 = GetMailCls
        lngCurrentID = ModMailDll.Transmit(frmMain.ctlMailList.mlngCurrentSelectID, gLngEmployeeID1, mclsMailCreator1)
        If ModMailDll.BlnExcuteSendMail(mclsMailCreator1) Then
            frmMain.m_CSmtpInterface.SendAMail lngCurrentID, True
        End If
        frmMain.RefreshMailList
        frmMain.RefreshTreeView
        
        blnIsBusy = False
    Case UCase("RESENDASFJ") '作为附件转发
        blnIsBusy = True
        Set mclsMailCreator1 = GetMailCls
        lngCurrentID = ModMailDll.WriteAsAttach(frmMain.ctlMailList.mlngCurrentSelectID, gLngEmployeeID1, mclsMailCreator1)
        If ModMailDll.BlnExcuteSendMail(mclsMailCreator1) Then
            frmMain.m_CSmtpInterface.SendAMail lngCurrentID, True
        End If
        blnIsBusy = False
        frmMain.RefreshMailList
        frmMain.RefreshTreeView
        
    Case UCase("ReSend") '再次发送
        Set mclsMailCreator1 = GetMailCls
        lngCurrentID = ModMailDll.ReSend(frmMain.ctlMailList.mlngCurrentSelectID, gLngEmployeeID1, mclsMailCreator1)
        If ModMailDll.BlnExcuteSendMail(mclsMailCreator1) Then
            frmMain.m_CSmtpInterface.SendAMail lngCurrentID, True
        End If
        
        frmMain.RefreshMailList
        frmMain.RefreshTreeView
                
    Case UCase("MARKREADED") '标记为已读
        GetSelectionID m_lngSelectionID
        If UBound(m_lngSelectionID) > 0 Then
            For lngMailCounter = 0 To UBound(m_lngSelectionID)
                Set mclsMailCreator1 = GetMailCls
                ModMailDll.GetMailSimple m_lngSelectionID(lngMailCounter).lngSelectionID, m_MailType, mclsMailCreator1
                m_MailType.StrReadTag = MailDll.msReceiveReaded
                If m_MailType.lngMailID > 0 Then
                    If ModMailDll.SaveMail(m_MailType, mclsMailCreator1, False, False, False, False) Then
                        frmMain.ctlMailList.MarkIconTag DataListGrid.E_ColumnIconTag.Column_ReadTag, True, m_lngSelectionID(lngMailCounter).lngRow
                        frmMain.RefreshTreeView
                    End If
                End If
            Next
        End If
    Case UCase("MARKUNREAD") '标记为未读
        Set mclsMailCreator1 = GetMailCls
        GetSelectionID m_lngSelectionID
        If UBound(m_lngSelectionID) > 0 Then
            For lngMailCounter = 0 To UBound(m_lngSelectionID)
                ModMailDll.GetMailSimple m_lngSelectionID(lngMailCounter).lngSelectionID, m_MailType, mclsMailCreator1
                m_MailType.StrReadTag = MailDll.msReceiveNoRead
                If m_MailType.lngMailID > 0 Then
                    If ModMailDll.SaveMail(m_MailType, mclsMailCreator1, False, False, False, False) Then
                        frmMain.ctlMailList.MarkIconTag DataListGrid.E_ColumnIconTag.Column_ReadTag, False, m_lngSelectionID(lngMailCounter).lngRow
                        frmMain.RefreshTreeView
                    End If
                End If
            Next
        End If
        
    Case UCase("MOVETOFOLDER")
        
        GetSelectionID2 mTemplngSelectionID
        If UBound(mTemplngSelectionID) > 0 Then
            If frmSelectFolder.ShowCard(mTemplngSelectionID, True) Then
                frmMain.RefreshMailList
                frmMain.RefreshTreeView
            End If
        End If
    Case UCase("COPYTOFOLDER")
        GetSelectionID2 mTemplngSelectionID
        If UBound(mTemplngSelectionID) > 0 Then
            If frmSelectFolder.ShowCard(mTemplngSelectionID, False) Then
                frmMain.RefreshMailList
                frmMain.RefreshTreeView
            End If
        End If
    Case UCase("DELETEMAIL")
        '删除当前选择的
        frmMain.SendRecycle False
        
    Case UCase("ADDSENDERTOACCOUNTS")

    Case UCase("MailTrack")  '新建/查看 邮件跟踪
        Set mclsMailCreator1 = GetMailCls
        If frmMain.ctlMailList.mlngCurrentSelectID > 0 Then
            ModMailDll.GetMailSimple frmMain.ctlMailList.mlngCurrentSelectID, m_MailType, mclsMailCreator1
            If ModMailDll.EditTrack(m_MailType, mclsMailCreator1) Then
                frmMain.ctlMailList.MarkIconTag DataListGrid.Column_TrackTag, True, frmMain.ctlMailList.SelectedRow
            End If
        End If
        
    Case UCase("MailUNTrack")  '取消邮件跟踪
            Set mclsMailCreator1 = GetMailCls
            ModMailDll.GetMailSimple frmMain.ctlMailList.mlngCurrentSelectID, m_MailType, mclsMailCreator1
            If m_MailType.btnTrack <> 0 Then
                m_MailType.btnTrack = 0
                m_MailType.intTrackDays = 0
                m_MailType.strTrackContent = ""
                If ModMailDll.SaveMail(m_MailType, mclsMailCreator1, False, False, False, False) Then
                    frmMain.ctlMailList.MarkIconTag DataListGrid.Column_TrackTag, False, frmMain.ctlMailList.SelectedRow
                    frmMain.RefreshMailList
                End If
            End If
            
    End Select
    
    Set mclsMailTemplate1 = Nothing
    Set m_AccountClass1 = Nothing
    Set mclsMailCreator1 = Nothing
End Sub




'********************************************************************************
'行多选接口
Public Sub GetSelectionID(ByRef lngSelectionID() As Selection)
   ReDim lngSelectionID(0)
   
   If frmMain.ctlMailList.SelectedRow = 0 Then Exit Sub
   If Not frmMain.ctlMailList.MultiSelect Then Exit Sub
   Dim lngRow As Long
   
    '前三列为分组用
    Dim i As Long
    For i = 1 To frmMain.ctlMailList.SelectionCount
         lngRow = frmMain.ctlMailList.SelectedRowByIndex(i)
         If frmMain.ctlMailList.CellSelected(lngRow, frmMain.ctlMailList.SelectedCol) Then
             If CLng(frmMain.ctlMailList.CellText(lngRow, 1)) > 0 Then
                ReDim Preserve lngSelectionID(UBound(lngSelectionID) + 1)
                lngSelectionID(UBound(lngSelectionID)).lngSelectionID = CLng(frmMain.ctlMailList.CellText(lngRow, 1))
                lngSelectionID(UBound(lngSelectionID)).lngRow = lngRow
             End If
         End If
    Next i
End Sub
'********************************************************************************


'********************************************************************************
'行多选接口
Public Sub GetSelectionID2(ByRef lngSelectionID() As Long)
   ReDim lngSelectionID(0)
   
   If frmMain.ctlMailList.SelectedRow = 0 Then Exit Sub
   If Not frmMain.ctlMailList.MultiSelect Then Exit Sub
   Dim lngRow As Long
   
    '前三列为分组用
    Dim i As Long
    For i = 1 To frmMain.ctlMailList.SelectionCount
         lngRow = frmMain.ctlMailList.SelectedRowByIndex(i)
         If frmMain.ctlMailList.CellSelected(lngRow, frmMain.ctlMailList.SelectedCol) Then
             If CLng(frmMain.ctlMailList.CellText(lngRow, 1)) > 0 Then
                ReDim Preserve lngSelectionID(UBound(lngSelectionID) + 1)
                lngSelectionID(UBound(lngSelectionID)) = CLng(frmMain.ctlMailList.CellText(lngRow, 1))
             End If
         End If
    Next i
End Sub
'********************************************************************************









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -