设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 6598|回复: 24
打印 上一主题 下一主题

[窗体] 通过access一次性将收件人的地址写进outlook收件人中

[复制链接]
跳转到指定楼层
1#
发表于 2015-3-9 12:29:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
50金钱
我们公司有一个ACCESS的NCR(不合格品报告)系统,一直在使用但是最近发现一个问题:需要将此报告发给一些相关人员(收件人)(通过OUTLOOK)但是需要一个一个的写邮件地址,请问如何才能做到将数据库中添加一个邮箱地址表,一次性的就可以写进收件人邮箱.谢谢!

最佳答案

查看完整内容

看看是不是这个效果
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2015-3-9 12:30:00 | 只看该作者
看看是不是这个效果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

3#
发表于 2015-3-9 12:44:27 | 只看该作者
好像以前老王高码课里有这么一课。
回复

使用道具 举报

4#
 楼主| 发表于 2015-3-9 13:13:19 | 只看该作者
半点 发表于 2015-3-9 12:44
好像以前老王高码课里有这么一课。

有例子吗?
回复

使用道具 举报

点击这里给我发消息

5#
发表于 2015-3-9 14:44:00 | 只看该作者
邮箱地址表中再添加一个“是否选中收件人“的是否字段,在发邮件的时候,选中的联系人地址写入收件人地址,从而实现批量发邮件。
还有一法:表不改动,窗体上也不用写多余的代码,使用组合框(新版accdb组合框本身带有这功能)设置,实现联系人地址多选。
回复

使用道具 举报

6#
 楼主| 发表于 2015-3-9 14:52:31 | 只看该作者
直接写代码将收件人的地址直接加到OUTLOOK的收件人中
回复

使用道具 举报

7#
 楼主| 发表于 2015-3-9 14:57:25 | 只看该作者
公司写的代码,可以将数据直接写到新邮件中

Private Sub cmdEmail_Click()
On Error GoTo Err_cmdEMail_Click
   
    Dim PartDisposition As Variant
    Select Case Me.Disposition
    Case 1
        PartDisposition = "Rework"
    Case 2
        PartDisposition = "Use As Is"
    Case 3
        PartDisposition = "Scrap"
    Case 4
        PartDisposition = "Return for Credit"
    Case 5
        PartDisposition = "Inventory Issue"
        
    End Select
   
    If Me![txtMIDNumber] <> "" Then
        DoCmd.SendObject , , , , , , "Please review NCR # " & Me.MIDNumber, _
        "NCR Number = " & Me.MIDNumber & vbCrLf & _
        "Part Number = " & Me.PartNumber & vbCrLf & _
        "Part Description = " & Me.PartDescription & vbCrLf & _
        "Casting Number = " & Me.CastingNumber & vbCrLf & _
        "Casting Description = " & Me.CastingDescription & vbCrLf & _
        "WO/PO Number = " & Me.WONumber & vbCrLf & _
        "NCR Disposition = " & PartDisposition & vbCrLf & _
        "Vendor = " & Me.VendorName & vbCrLf & _
        "Quantity = " & Me.Quantity & vbCrLf & _
        "Comments :" & vbCrLf & _
        Me.MIDInformation & vbCrLf & _
        vbCrLf & "Manufacturing Comments :" & vbCrLf & _
        Me.ManufacturingNotes & vbCrLf & _
        vbCrLf & "Production Comments :" & vbCrLf & _
        Me.ProductionNotes & vbCrLf & _
        vbCrLf & "Purchasing Comments :" & vbCrLf & _
        Me.PurchasingNotes & vbCrLf & _
        vbCrLf & "Warehouse Comments :" & vbCrLf & _
        Me.WarehouseNotes & vbCrLf & _
        vbCrLf & "Additional Comments :" & vbCrLf & _
        Me.AdditionalComments

    Else
        MsgBox "Select MID # first", vbCritical, "Error"
    End If
Exit_cmdEMail_Click:
    Exit Sub
Err_cmdEMail_Click:
    MsgBox "E-Mail is currrently not working. Try again later", vbCritical
    Resume Exit_cmdEMail_Click
End Sub
请看附件图片,点击邮件图标(图1)直接写的OUTLOOK中(图2),再添加收件人
请大家看看是否可以添加收件人

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点评

代码写的真漂亮  发表于 2015-3-9 17:00
回复

使用道具 举报

点击这里给我发消息

8#
发表于 2015-3-9 15:41:59 | 只看该作者
看下SendObject方法的参数你就知道怎么设置收件人跟抄送了。不过你界面里面也需要设置一个。第4个参数是收信人
第5个参数是抄送的

语法
表达式.SendObject(ObjectType, ObjectName, OutputFormat, To, Cc, Bcc, Subject, MessageText, EditMessage, TemplateFile)
表达式   一个代表 DoCmd 对象的变量。
参数
名称必选/可选数据类型说明
ObjectType可选AcSendObjectTypeAcSendObjectType 常量,指定要发送的对象的类型。
ObjectName可选Variant[url=]字符串表达式 (字符串表达式:任一求值为一列连续字符的表达式。表达式的元素可以是:返回字符串或字符串 Variant (VarType 8) 的函数;字符串字面值、常量、变量或 Variant。)[/url],表示 objecttype 参数所选类型的对象的有效名称。如果要在邮件中包括活动对象,请使用 objecttype 参数指定对象的类型,并将该参数保留为空。如果将 objecttypeobjectname 参数都保留为空(对于 objecttype 参数,采用默认常量 acSendNoObject),Microsoft Access 将向电子邮件应用程序发送邮件,但不包括数据库对象。如果您运行的 Visual Basic 代码包含了[url=]类库数据库 (类库数据库:可以从任意应用程序中调用的过程和数据库对象的集合。为了使用库中的项,必须先建立从当前数据库到类库数据库的引用。)[/url]中的 SendObject 方法,Microsoft Access 先在这个类库数据库中查找此名称的对象,然后在当前数据库中查找。
OutputFormat可选Variant
To可选Variant字符串表达式,列出名称要放在邮件的“收件人”行中的收件人。用分号 (;) 或列表[url=]分隔符 (分隔符:用来分隔文本或数字单元的字符。)[/url](在 Windows 控制面板的“区域设置属性”对话框的“数字”选项卡中设置)分隔在该参数及 ccbcc 参数中指定的收件人名称。如果收件人名称不能被邮件应用程序识别,那么将不会发送该邮件并将产生错误。如果将该参数保留为空,Microsoft Access 会提示您输入收件人。
Cc可选Variant字符串表达式,列出名称要放在邮件“抄送”行中的收件人。如果将该参数保留为空,则邮件中的“抄送”行也将为空。
Bcc可选Variant字符串表达式,列出名称要放在邮件“密件抄送”行中的收件人。如果将该参数保留为空,则邮件中的“密件抄送”行也将为空。
Subject可选Variant字符串表达式,包含要放在邮件“主题”行中的文本。如果将该参数保留为空,则邮件中的“主题”行也将为空。
MessageText可选Variant字符串表达式,包含要包括在邮件正文中、且位于该对象后面的文本。如果将该参数保留为空,则对象是邮件正文中包含的全部内容。
EditMessage可选Variant使用 True (-1) 将立即打开电子邮件应用程序并加载邮件,这样就可以编辑邮件。使用 False (0) 将不进行编辑就发送邮件。如果将该参数保留为空,将采用默认值 (True)。
TemplateFile可选Variant字符串表达式,表示用作 [url=]HTML (HTML:万维网文档所用的标准标记语言。HTML 使用标记来指定 Web 浏览器对文字和图形等网页元素的显示方式以及对用户操作的响应方式。)[/url] 文件的模板文件的完整名称(包括路径)。




回复

使用道具 举报

点击这里给我发消息

9#
发表于 2015-3-9 16:14:03 | 只看该作者
界面上添加一个“to”组合框,源内容为联系人,设置组合框多选代码实现方法:(在网站中随便搜了一下,Trynew 老师写的组合框多选代码出来了。)
Public Function MultComb()
Dim i As Integer, strList As String
     With Screen.ActiveControl
         For i = 1 To .ListCount
             strList = IIf(Nz(strList) = "", "", strList & ";") & .ItemData(i)
         Next
         If InStr(1, .Tag, .Text) = 0 And InStr(1, strList, .Text) > 0 Then
             .Value = IIf(Nz(.Tag) = "", "", .Tag & "、") & .Text
         End If
         .Tag = .Text
     End With
End Function

再将值作为收件人地址,赋值就行了。
回复

使用道具 举报

点击这里给我发消息

10#
发表于 2015-3-9 16:57:37 | 只看该作者
以前有讲过使用Access自动控制Outlook批量发送邮件的课程培训
请看这里
http://www.access-cn.com/tvip/tvip3435.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-30 03:17 , Processed in 0.095711 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表