我想用access生成一张report,然后再将这个report作为email的附件发送出去。我boss想用DoCmd.SendObject来做,我知道这种方法很简单,但是好像不能发送HTML格式的email,而且如果直接在"message text"中编辑格式的话很麻烦我自己写了一个程序来做,可以套用outlook的模版发邮件,但是附件是个问题,attachment.add方法似乎需要report的路径才行。我就像问是否有一种方法不需要将生成的report存到一个文件夹里,然后再从这个文件夹里读出来作为附件,希望大虾帮帮忙

解决方案 »

  1.   

    既然你的report是作为附件发送,邮件本身是HTML OR TEXT又有什么关系呢。 DoCmd.SendObject的方式是比较简单。任何附件都得在磁盘上实际存储了,才能作为附件发送,只是有的时候从默认路径读取,用户不用设定而已。
      

  2.   

    用winsock或Jmail吧,推荐用jmail,功能强大
      

  3.   

    boss只是想把email正文格式化一下,我是觉得在DoComd.Sendobject中添加格式很麻烦。我还想请问一下高手怎样才能得到存储附件的默认路径呢  
      

  4.   

    这个是临时文件夹下outlook临时创建的。每次不一样。
    贴一段我们每天用到的简单代码吧,如下:Public Sub SendMail()    '2006/02/13 每日单耗表邮件附送作成
        'zaimu 作成。
        '――――――――――――――――――
        DoCmd.SendObject acSendQuery, "TANMOU", acFormatXLS, "[email protected]>," _
        , "单耗表" & Date - 1, _
        "XXX,你好" & vbCrLf & _
        "" & vbCrLf & _
        "   新版单耗,请参看附件。" & vbCrLf & _
        "" & vbCrLf & _
        "" & vbCrLf & _
        "*****************************" & vbCrLf & _
        "OOOO [XXX(China)-财务部]" & vbCrLf & _
        "[email protected]" & vbCrLf & _
        "******************************", True
      
    End Sub
    文本方式发送,格式看起来也很正规,呵呵。
      

  5.   

    最后还是用DoCmd.OutputTo 和applyFilter 来生成附件报表,再用自定义的outlook application object来发送邮件,这是我能想到的最折衷的办法了