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

📄 modmailmenu.bas

📁 智能邮件管理信息系统
💻 BAS
📖 第 1 页 / 共 3 页
字号:
            
        
        '*归并的条件: 1.只有看过的邮件可以归并.
        '2.只有"收件箱"和"已发送邮件箱"中的邮件可以归并.
        '全部归并
        .MenuItemEnabled("SendToCustomerAll") = frmMain.ctlMailList.mlngViewID = 2 Or frmMain.ctlMailList.mlngViewID = 4
        '归并所选邮件
        .MenuItemEnabled("SendToCustomer") = blnSelectMail And (frmMain.ctlMailList.mlngViewID = 2 Or frmMain.ctlMailList.mlngViewID = 4)

        .MenuItemCaption("MailTrack") = IIf(BlnEnglishVersion, "MailTrack", IIf(m_MailType.btnTrack, "查看跟踪", "新建跟踪"))
        .MenuItemCaption("MailUNTrack") = IIf(BlnEnglishVersion, "UnMailTrack", "取消跟踪")
        .MenuItemEnabled("MailUNTrack") = blnSelectMail And (m_MailType.btnTrack <> 0)
        Debug.Print .MenuItemCaption("MailUNTrack")
        Debug.Print frmMain.mnuPopMenu.MenuItemVisible("SendToCustomerAll")
        Debug.Print frmMain.mnuPopMenu.MenuItemVisible("SendToCustomer")
        
                
        '设置权限中的可用只
        #If ChengRen = 1 Then
            If m_E_ViewMode = m_ServerMode Then
                strsql = "select * from SystemMenu Where strMenuName='mnuPopMenuChengRenSever' And bEnabled=0 order by intorder"
            Else
                strsql = "select * from SystemMenu Where strMenuName='mnuPopMenuChengRen' And bEnabled=0 order by intorder"
            End If
        #ElseIf V98989 = 1 Then
            If m_E_ViewMode = m_ServerMode Then
                strsql = "select * from SystemMenu Where strMenuName='mnuPopMenu98989Sever' And bEnabled=0 order by intorder"
            Else
                strsql = "select * from SystemMenu Where strMenuName='mnuPopMenu98989' And bEnabled=0 order by intorder"
            End If
        #ElseIf OneUser = 1 Then
            If m_E_ViewMode = m_ServerMode Then
                strsql = "select * from SystemMenu Where strMenuName='mnuOneUserPopMenuSever' And bEnabled=0 order by intorder"
            Else
                strsql = "select * from SystemMenu Where strMenuName='mnuOneUserPopMenu' And bEnabled=0 order by intorder"
            End If
        #Else
            If m_E_ViewMode = m_ServerMode Then
                strsql = "select * from SystemMenu Where strMenuName='mnuPopMenuSever' And bEnabled=0 order by intorder"
            Else
                strsql = "select * from SystemMenu Where strMenuName='mnuPopMenu' And bEnabled=0 order by intorder"
            End If
        #End If
        
        
        mclsSystemMenu.GetSystemMenus strsql, mSystemMenus
        If mSystemMenus.Count > 0 Then
            For lngMenuCounter = 0 To mSystemMenus.Count
                LSet mSystemMenu = mSystemMenus.SystemMenu(lngMenuCounter)
                If mSystemMenu.lngSystemMenuID > 0 Then
                    .MenuItemEnabled(mSystemMenu.sKey) = False
                End If
            Next lngMenuCounter
        End If

        .ShowPopupMenu x, y
    End With
    Set mclsSystemMenu = Nothing
    Set mclsCustomer1 = Nothing
    Set mclsMailCreator1 = Nothing

End Sub



Public Sub RaiseMailMenu_Click(ItemNumber As Long)
    Dim mTemplngSelectionID() As Long
    Dim LngEmployeeID As Long
    Dim strKey As String
    Dim lngEmployeeIDArray() As Long
    Dim lngOkCount As Long
    Dim blnOk As Boolean
    Dim lngCurrentID As Long
    Dim m_MailType As MailDll.MailType
    Dim m_MailTemplate As PMailTemplate.MailTemplate
    
    Dim mclsMailTemplate1 As PMailTemplate.clsMailTemplate
    Set mclsMailTemplate1 = GetclsMailTemplate
    
    Dim m_AccountClass1 As Account.AccountClass
    Set m_AccountClass1 = GetAccountClass
    
    Dim strsql As String, strFilter As String
    Dim recTmp As New ADODB.Recordset
    
    If recTmp.State = adStateOpen Then recTmp.Close
    Dim mclsMailCreator1 As MailDll.Mail
    Set mclsMailCreator1 = GetMailCls
    
    Dim i As Long
    '内部分发(只有收件箱才允许)
    If frmMain.mnuPopMenu.MenuItemData(ItemNumber) = 10 Then
        strKey = frmMain.mnuPopMenu.MenuItemKey(ItemNumber)
        strKey = Replace(UCase(strKey), UCase("SendToOtherFen"), "")
        LngEmployeeID = Val(strKey)
        GetSelectionID m_lngSelectionID
        If UBound(m_lngSelectionID) > 0 Then
            For lngMailCounter = 0 To UBound(m_lngSelectionID)
                If m_lngSelectionID(lngMailCounter).lngSelectionID > 0 Then
                    
                    
                    ModMailDll.GetMail m_lngSelectionID(lngMailCounter).lngSelectionID, m_MailType, mclsMailCreator1, True, True, True, True
                    '分发邮件的时候,修改邮件的操作员,客户ID
                    m_MailType.LngEmployeeID = LngEmployeeID
                    m_MailType.StrReadTag = MailDll.msReceiveNoRead
                    m_MailType.BlnFenError = 0
                    If m_MailType.lngMailID > 0 Then
                        If ModMailDll.SaveMail(m_MailType, mclsMailCreator1, True, True, True, True) Then
'                            frmmain.ctlMailList.RemoveRow False, False, lngMailCounter + 1
                        Else
                            ModMailDll.GetMailSimple m_lngSelectionID(lngMailCounter).lngSelectionID, m_MailType, mclsMailCreator1
                            m_MailType.BlnFenError = 1
                            If ModMailDll.SaveMail(m_MailType, mclsMailCreator1, True, True, True, True) Then
                                frmMain.ctlMailList.MarkIconTag DataListGrid.Column_ErrFenTag, True, m_lngSelectionID(lngMailCounter).lngRow
                            End If
                        End If
                    End If
                    

                End If
            Next
            
            frmMain.RefreshMailList
            frmMain.RefreshTreeView
        End If
        
        
        Exit Sub
    ElseIf frmMain.mnuPopMenu.MenuItemData(ItemNumber) = 100 Then '内部转发
        strKey = frmMain.mnuPopMenu.MenuItemKey(ItemNumber)
        strKey = Replace(UCase(strKey), UCase("SendToOtherZhuan"), "")
        LngEmployeeID = Val(strKey)
        

        Set mclsMailCreator1 = GetMailCls

        
        GetSelectionID m_lngSelectionID
        If UBound(m_lngSelectionID) > 0 Then
            For lngMailCounter = 0 To UBound(m_lngSelectionID)
                If m_lngSelectionID(lngMailCounter).lngSelectionID > 0 Then
                    ModMailDll.GetMail m_lngSelectionID(lngMailCounter).lngSelectionID, m_MailType, mclsMailCreator1, True, True, True, True
                    '分发邮件的时候,修改邮件的操作员,客户ID
                    m_MailType.lngMailID = 0
                    For i = 0 To UBound(m_MailType.strMailAttach)
                        m_MailType.strMailAttach(i).lngMailAttachId = 0
                    Next i
                    
                    For i = 0 To UBound(m_MailType.strMailImage)
                        m_MailType.strMailImage(i).lngMailImageID = 0
                    Next i
                    
                    m_MailType.LngEmployeeID = LngEmployeeID
                    m_MailType.strMailBoxTag = "ReceptBox" 'shou件箱
                    m_MailType.lngOwnDefineTreeID = MailDll.E_SystemMailBox.InMailBox
                            
                    m_MailType.StrReadTag = MailDll.msReceiveNoRead
                    m_MailType.BlnFenError = 0
                    If ModMailDll.SaveMail(m_MailType, mclsMailCreator1, True, True, True, True) Then
                        blnOk = True
                    Else
                        blnOk = False
                    End If
                End If
                If blnOk Then lngOkCount = lngOkCount + 1
            Next
        End If
        
        ShowMessageBoxEx "待转发邮件:" & UBound(m_lngSelectionID) & "封,成功转发" & lngOkCount & "封!"
        Exit Sub
     '内部分发     所有
    ElseIf UCase(frmMain.mnuPopMenu.MenuItemKey(ItemNumber)) = UCase("SendToOtherFenAll") Then
        AutoFenFa True
    End If
    
    
    Select Case UCase(frmMain.mnuPopMenu.MenuItemKey(ItemNumber))
    
    '*归并的条件: 1.只有看过的邮件可以归并.
                '2.只有"收件箱"和"已发送邮件箱"中的邮件可以归并.
    '全部归并
    Case UCase("SendToCustomerAll")
        ModGuiBingMail.GuiBingAll True
    '归并所选邮件
    Case UCase("SendToCustomer")
        GuiBingSelection True
     '选择多个联系人转发
    Case UCase("SendToOtherSZhuan")
        strsql = "select lngEmployeeID,strEmployeeName,strEmail from Employee"
        If gLngEmployeeID1 > 0 Then
            strsql = "select lngEmployeeID,strEmployeeName,strEmail from Employee Where LngEmployeeID<>" & gLngEmployeeID1
        End If
        FrmSelectMutiContact.ShowMe strsql, lngEmployeeIDArray
        If FrmSelectMutiContact.e_Action = ok Then
            Dim ii As Long
            
            GetSelectionID m_lngSelectionID
            If UBound(m_lngSelectionID) > 0 And UBound(lngEmployeeIDArray) > 0 Then
                For lngMailCounter = 0 To UBound(m_lngSelectionID)
                    If m_lngSelectionID(lngMailCounter).lngSelectionID > 0 Then
                        Set mclsMailCreator1 = GetMailCls
                        ModMailDll.GetMail m_lngSelectionID(lngMailCounter).lngSelectionID, m_MailType, mclsMailCreator1, True, True, True, True
                        '转发邮件的时候,修改邮件的操作员
                        For ii = 0 To UBound(lngEmployeeIDArray)
                            If lngEmployeeIDArray(ii) > 0 Then
                                m_MailType.LngEmployeeID = lngEmployeeIDArray(ii)
                                m_MailType.lngMailID = 0
                                For i = 0 To UBound(m_MailType.strMailAttach)
                                    m_MailType.strMailAttach(i).lngMailAttachId = 0
                                Next i
                                
                                For i = 0 To UBound(m_MailType.strMailImage)
                                    m_MailType.strMailImage(i).lngMailImageID = 0
                                Next i
                                
                                m_MailType.strMailBoxTag = "ReceptBox" 'shou件箱
                                m_MailType.lngOwnDefineTreeID = MailDll.E_SystemMailBox.InMailBox
                                m_MailType.StrReadTag = MailDll.msReceiveNoRead
                                If ModMailDll.SaveMail(m_MailType, mclsMailCreator1, True, True, True, True) Then
                                    blnOk = True
                                Else
                                    blnOk = False
                                End If
                            End If
                        Next ii
                        If blnOk Then lngOkCount = lngOkCount + 1
                    End If
                Next
            End If
            
            ShowMessageBoxEx "待转发邮件:" & UBound(m_lngSelectionID) & "封,成功转发" & lngOkCount & "封!"
        End If
        
    Case UCase("OPENMAIL")

⌨️ 快捷键说明

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