📄 modmailmenu.bas
字号:
'*归并的条件: 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 + -