在其中的"Available References"列表框中选中"Microsoft Outlook 9.0 Object Library"表项,然后按"OK"命令按钮退出该对话框。此后就可以声明Outlook.Application类型的对象。 ---- 如果还没有对Outlook 9.0对象库设置引用,那麽必须使用CreateObject函数,在同一时刻只能有一个Outlook实例。 ---- 下面,笔者以两个简单的VB应用程序为例,分别介绍发送和接收邮件的程序编制方法。 ---- 邮件发送程序 ---- 邮件发送程序的基本处理过程为:用户输入信息组成邮件,然后使用Outlook.Application对象的Send方法发送邮件。步骤如下: 新建一个VB项目。
将Form1的Caption属性设置为"邮件发送"。
在Form1上设置三个Textbox,名称分别为txtaddress,txtSubject,txtBody;其中txtBody的MultiLine的值设为True;
设置两个命令按钮,其Name 分别为cmbSend、cmbReturn,其Caption值分别为"发送"、"返回"。
Private Sub cmdSend_Click()
Dim response
If txtaddress.Text = "" Then
MsgBox "没有有效邮件地址,
收件人E-Mail地址不能为空。
请填写收件人地址!"
Exit Sub
End If
Set olapp = CreateObject("outlook.application")
Set oitem = olapp.CreateItem(olMailItem)
With oitem
.Subject = txtSubject.Text '//邮件主题
.To = txtaddress.Text '//收件人
.Body = txtBody.Text '"正文" '//邮件正文
.Send '//发送邮件
End With
response = MsgBox("邮件成功提交")
End Sub对CmdReturn命令按钮编程
Private Sub cmdReturn_Click()
End
End Sub在邮件中添加附件调用Add方法可以向邮件中添加附件,代码如下:Set olapp = CreateObject("outlook.application")
Set oitem = olapp.CreateItem(olMailItem)
With oitem
. Subject = txtSubject.Text '//邮件主题
.To = txtaddress.Text '//收件人
.Body = txtBody.Text '//邮件正文
.attachments.Add attachmentsFileName
'//attachmentsFileName
为附件路径文件名,读者可以使
'//循环语句添加多个附件
.Send '//发送邮件
End With
阅读邮件 新建一个VB项目。
将Form1的Caption属性设置为"阅读邮件"。
在Form1上设置五个Textbox,名称分别为txtaddress,txtSubject,txtBody,txtCopyTo,txtAttachments;其中txtBody的MultiLine的值设为True;
在Form1上添加三个命令按钮,其Name 分别为cmbSend、cmdNext、cmbRetun,其Caption值分别为"阅读邮件"、"下一封"、"返回"
在Form1上添加四个标签用于标注txtaddress、txtSubject、 txtCopyTo、txtAttachments,其Caption值分别为"发件人"、"主题"、"抄送"、"附件"(如图三所示)。
图三:接收邮件 对cmdReadMail的click事件编写代码:
Private Sub cmdReadmail_Click()Dim intCounter ,I As Integer
Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myFolder = _
myNameSpace.GetDefaultFolder(olFolderInbox)'显示邮件正文
If myFolder.Items.Count = 0 Then
response = MsgBox("收件箱里没有新邮件")
Exit Sub
End If
mailindex = 1
Set myItem = myFolder.Items(mailindex)txtAddress.Text = myItem.SenderName '显示发件人姓名
txtSubject.Text = myItem.Subject '显示主题
txtBody.Text = myItem.Body '显示文本正文
txtCopyTo.Text = myItem.CC '显示抄送信息'存储附件,这里将附件存储到C:\my docment\目录下,
读者可以根据需要编写代码执行相应的操作
Set myattachments = myItem.AttachmentsFor I = 1 To myattachments.Count
myattachments.Item(I) .SaveAsFile "
C:\mydocment\"& myattachments.Item(I) .
DisplayNametxtAttachments.
Text = txtAttachments.
Text + " " + myattachments.Item(I) .DisplayName
Next I
End sub对cmdNext的click事件编写代码:
Private Sub cmdNext_Click()Dim i As IntegerIf mailindex < myFolder.Items.Count Then
mailindex = mailindex + 1
Set myItem = myFolder.Items(mailindex)
txtAddress.Text = myItem.SenderName
txtSubject = myItem.Subject
txtBody.Text = myItem.Body
txtCopyTo.Text = myItem.CC '存储附件
Set myattachments = myItem.Attachments For i = 1 To myattachments.Count
myattachments.Item(i) .SaveAsFile "
C:\My Docment\" & _
myattachments.Item(i) .DisplayName
txtAttachments.Text = txtAttachments.
Text + " " + myattachments.Item(i) .
DisplayNameNext i
Else
response = MsgBox("收件箱里已无邮件")
End IfEnd Sub对cmdReturn的click事件编写代码:
Private Sub cmdExit_Click()
End
End Sub---- 转发邮件
---- 转发邮件首先使用 GetDefaultFolder 方法返回表示当前用户默认"收件箱"文件夹的 MAPIFolder 对象。然后使用 Forward 方法检索默认"收件箱"文件夹中的第一封邮件,并将其转发给 myFriend。如果该名称能在"通讯簿"中进行无歧义地解析,则可使用Add 方法将"myFriend"添加到 Recipients 集合并且用 Send 方法将项目发送给所有收件人。 Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.
GetNameSpace("MAPI")
Set myFolder = myNameSpace.
GetDefaultFolder(olFolderInbox)
Set myForward = myFolder.Items(1) .Forward
myForward.Recipients.Add "myFriend"
myForward.Send
将Form1的Caption属性设置为"邮件发送"。
在Form1上设置三个Textbox,名称分别为txtaddress,txtSubject,txtBody;其中txtBody的MultiLine的值设为True;
设置两个命令按钮,其Name 分别为cmbSend、cmbReturn,其Caption值分别为"发送"、"返回"。
Private Sub cmdSend_Click()
Dim response
If txtaddress.Text = "" Then
MsgBox "没有有效邮件地址,
收件人E-Mail地址不能为空。
请填写收件人地址!"
Exit Sub
End If
Set olapp = CreateObject("outlook.application")
Set oitem = olapp.CreateItem(olMailItem)
With oitem
.Subject = txtSubject.Text '//邮件主题
.To = txtaddress.Text '//收件人
.Body = txtBody.Text '"正文" '//邮件正文
.Send '//发送邮件
End With
response = MsgBox("邮件成功提交")
End Sub对CmdReturn命令按钮编程
Private Sub cmdReturn_Click()
End
End Sub在邮件中添加附件调用Add方法可以向邮件中添加附件,代码如下:Set olapp = CreateObject("outlook.application")
Set oitem = olapp.CreateItem(olMailItem)
With oitem
. Subject = txtSubject.Text '//邮件主题
.To = txtaddress.Text '//收件人
.Body = txtBody.Text '//邮件正文
.attachments.Add attachmentsFileName
'//attachmentsFileName
为附件路径文件名,读者可以使
'//循环语句添加多个附件
.Send '//发送邮件
End With
阅读邮件 新建一个VB项目。
将Form1的Caption属性设置为"阅读邮件"。
在Form1上设置五个Textbox,名称分别为txtaddress,txtSubject,txtBody,txtCopyTo,txtAttachments;其中txtBody的MultiLine的值设为True;
在Form1上添加三个命令按钮,其Name 分别为cmbSend、cmdNext、cmbRetun,其Caption值分别为"阅读邮件"、"下一封"、"返回"
在Form1上添加四个标签用于标注txtaddress、txtSubject、 txtCopyTo、txtAttachments,其Caption值分别为"发件人"、"主题"、"抄送"、"附件"(如图三所示)。
图三:接收邮件 对cmdReadMail的click事件编写代码:
Private Sub cmdReadmail_Click()Dim intCounter ,I As Integer
Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myFolder = _
myNameSpace.GetDefaultFolder(olFolderInbox)'显示邮件正文
If myFolder.Items.Count = 0 Then
response = MsgBox("收件箱里没有新邮件")
Exit Sub
End If
mailindex = 1
Set myItem = myFolder.Items(mailindex)txtAddress.Text = myItem.SenderName '显示发件人姓名
txtSubject.Text = myItem.Subject '显示主题
txtBody.Text = myItem.Body '显示文本正文
txtCopyTo.Text = myItem.CC '显示抄送信息'存储附件,这里将附件存储到C:\my docment\目录下,
读者可以根据需要编写代码执行相应的操作
Set myattachments = myItem.AttachmentsFor I = 1 To myattachments.Count
myattachments.Item(I) .SaveAsFile "
C:\mydocment\"& myattachments.Item(I) .
DisplayNametxtAttachments.
Text = txtAttachments.
Text + " " + myattachments.Item(I) .DisplayName
Next I
End sub对cmdNext的click事件编写代码:
Private Sub cmdNext_Click()Dim i As IntegerIf mailindex < myFolder.Items.Count Then
mailindex = mailindex + 1
Set myItem = myFolder.Items(mailindex)
txtAddress.Text = myItem.SenderName
txtSubject = myItem.Subject
txtBody.Text = myItem.Body
txtCopyTo.Text = myItem.CC '存储附件
Set myattachments = myItem.Attachments For i = 1 To myattachments.Count
myattachments.Item(i) .SaveAsFile "
C:\My Docment\" & _
myattachments.Item(i) .DisplayName
txtAttachments.Text = txtAttachments.
Text + " " + myattachments.Item(i) .
DisplayNameNext i
Else
response = MsgBox("收件箱里已无邮件")
End IfEnd Sub对cmdReturn的click事件编写代码:
Private Sub cmdExit_Click()
End
End Sub---- 转发邮件
---- 转发邮件首先使用 GetDefaultFolder 方法返回表示当前用户默认"收件箱"文件夹的 MAPIFolder 对象。然后使用 Forward 方法检索默认"收件箱"文件夹中的第一封邮件,并将其转发给 myFriend。如果该名称能在"通讯簿"中进行无歧义地解析,则可使用Add 方法将"myFriend"添加到 Recipients 集合并且用 Send 方法将项目发送给所有收件人。 Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.
GetNameSpace("MAPI")
Set myFolder = myNameSpace.
GetDefaultFolder(olFolderInbox)
Set myForward = myFolder.Items(1) .Forward
myForward.Recipients.Add "myFriend"
myForward.Send
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货