说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

我用MAPI控件写了一个收发E-Mail的小程序,一运行就失去响应,请各位高手指点,不胜感激!

编辑:说三道四文库 发布时间:2018-05-26 06:58
HTML文档下载 WORD文档下载 PDF文档下载
该程序包含三个窗体,frmMsg,frmGetMsg,frmNewMsg。代码如下:

frmGetMsg:
Option Explicit

Private Sub cmdCancel_Click()
    Unload Me
    
End Sub

Private Sub cmdNext_Click()
    mailCounts = frmMsg.MAPIMessages1.MsgCount - 1
    mailIndex = frmMsg.MAPIMessages1.MsgIndex
    frmMsg.MAPIMessages1.MsgIndex = mailIndex + 1
    frmGetMsg.Text1.Text = frmMsg.MAPIMessages1.MsgOrigAddress
    frmGetMsg.Text2.Text = frmMsg.MAPIMessages1.MsgSubject
    frmGetMsg.Text3.Text = frmMsg.MAPIMessages1.MsgNoteText
    If mailIndex = mailCounts Then
        frmGetMsg.cmdNext = False
    End If
    
End Sub

Private Sub cmdPrev_Click()
    mainIndex = frmMsg.MAPIMessages1.MsgIndex
    frmMsg.MAPIMessages1.MsgIndex = mailIndex - 1
    frmGetMsg.Text1.Text = frmMsg.MAPIMessages1.MsgOrigAddress
    frmGetMsg.Text2.Text = frmMsg.MAPIMessages1.MsgSubject
    frmGetMsg.Text3.Text = frmMsg.MAPIMessages1.MsgNoteText
    If mailIndex = 0 Then
        frmGetMsg.cmdPrev.Enabled = False
    End If
    
End Sub

Private Sub Form_Load()
    Dim mainIndex, mailCounts As Integer
    frmMsg.MAPISession1.SignOn
    frmMsg.MAPIMessages1.SessionID = frmMsg.MAPISession1.SessionID
    frmMsg.MAPIMessages1.FetchSorted = True
    frmMsg.MAPIMessages1.FetchUnreadOnly = True
    frmMsg.MAPIMessages1.Action = 1
    mailCounts = frmMsg.MAPIMessages1.MsgCount
    If mailCounts = 0 Then
        Text3.Text = "收件箱中没有邮件!"
        frmGetMsg.cmdPrev = False
        frmGetMsg.cmdNext = False
    Else
        frmMsg.MAPIMessages1.MsgIndex = 0
        frmGetMsg.Text1.Text = frmMsg.MAPIMessages1.MsgOrigAddress
        frmGetMsg.Text2.Text = frmMsg.MAPIMessages1.MsgSubject
        frmGetMsg.Text3.Text = frmMsg.MAPIMessages1.MsgNoteText
    End If
    
End Sub


frmMsg:
Option Explicit

Private Sub cmdGet_Click()
    frmGetMsg.Show
    
End Sub

Private Sub cmdQuit_Click()
    frmMsg.MAPISession1.SignOff
    End
End Sub

Private Sub cmdSend_Click()
    frmNewMsg.Show
End Sub



Private Sub Form_Load()
    frmMsg.MAPISession1.SignOn
    
End Sub


frmNewMsg:
Option Explicit

Private Sub cmdSend_Click()
    frmMsg.MAPISession1.SignOn
    frmMsg.MAPIMessages1.SessionID = frmMsg.MAPISession1.SessionID
    frmMsg.MAPIMessages1.MsgIndex = -1
    frmMsg.MAPIMessages1.RecipDisplayName = Text1.Text
    frmMsg.MAPIMessages1.MsgSubject = Text2.Text
    frmMsg.MAPIMessages1.MsgNoteText = Text3.Text
    frmMsg.MAPIMessages1.Send (False)
    frmMsg.MAPISession1.SignOff
    
End Sub

难道没有人回答吗?
难道没有人回答吗?
难道没有人回答吗?
原来是VB有问题,在重装VB后,调试一切正常。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘