Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 13299|回复: 24

[已解决]用VBA代码解决发工资条邮件的问题!

[复制链接]
发表于 2010-6-13 12:22 | 显示全部楼层 |阅读模式
各位大侠,因本人EXCEL水平实在有限,恳请哪位能帮帮我,不甚感激了。我的要求是:在完成工资条分列后,根据最后一列的邮件地址,直接在EXCEL里将邮件分别向该职工发出,而不通过WORD邮件合并,是按正文形式而不是附件形式。不知道我的要求是不是太高了,不过真的希望有人能帮帮我,谢谢了! I1u6AVPq.rar (2.21 KB, 下载次数: 58)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2010-6-13 13:05 | 显示全部楼层
回复

使用道具 举报

发表于 2010-6-13 13:29 | 显示全部楼层

以下摘录自随书光盘中的一段代码(非原创,可些我不会,但可能对你有所帮助):

Sub SendTest()
    SendMail "xfwen1973@gmail.com", "xfwen@21cn.com", "hello", _
      "test auto send email", "d:\try.txt"
End Sub
Public Sub SendMail1、(strTo As String, strCC As String, strSubject _
  As String, strBody As String, Optional strAttach As String)
    Dim otlk As Outlook.Application
    Dim mailitem As Outlook.mailitem
    On Error GoTo errHandle
    Set otlk = New Outlook.Application
    Set mailitem = otlk.CreateItem(olMailItem)
    With mailitem
        .To = strTo
        .CC = strCC
        .Importance = olImportanceHigh
        .Subject = strSubject
        .Body = strBody
        If Len(strAttach) <> 0 Then .Attachments.Add strAttach
        .Send
    End With
    Do Until mailitem.Sent = True
        DoEvents
    Loop
errHandle:
    otlk.Quit
    Set otlk = Nothing
End Sub
Sub ListAllFolders(objFolder As Outlook.MAPIFolder)
    Dim mItem As Outlook.mailitem
    Dim objSubFolder As Outlook.MAPIFolder
    Dim strSub As String, strSender As String
    Dim strCC As String, strBody As String
    For Each mItem In objFolder.Items
        If mItem.UnRead = True Then
            strSub = mItem.Subject
            strSender = mItem.SenderEmailAddress
            strCC = mItem.CC
            strBody = mItem.HTMLBody
            MsgBox "发送者:" & strSender & vbCrLf _
                & "CC:" & strCC & vbCrLf _
                & "主题:" & strSub & vbCrLf _
                & "主体:" & strBody
        End If
    Next
    For Each objSubFolder In objFolder.Folders
        ListAllFolders objSubFolder
    Next
    Set mItem = Nothing
End Sub
Sub ListUnReadMail()
    Dim otlk As Outlook.Application
    Dim nmspc As Outlook.Namespace
    Dim mlItem As Outlook.mailitem
    Dim objFolder As Outlook.MAPIFolder
    On Error GoTo errHandle
    Set otlk = New Outlook.Application
    Set nmspc = otlk.GetNamespace("MAPI")
    Set objFolder = nmspc.GetDefaultFolder(olFolderInbox)
    ListAllFolders objFolder
errHandle:
    otlk.Quit
    Set otlk = Nothing
    Set nmspc = Nothing
    Set objFolder = Nothing
End Sub

回复

使用道具 举报

发表于 2010-6-13 13:40 | 显示全部楼层

楼上的这个好像也是以附件形式,不是正文行式吧
回复

使用道具 举报

发表于 2010-6-13 14:21 | 显示全部楼层

期待答案

回复

使用道具 举报

发表于 2010-6-13 14:23 | 显示全部楼层

学习.
回复

使用道具 举报

发表于 2010-6-13 14:43 | 显示全部楼层

等待学习

回复

使用道具 举报

发表于 2010-6-13 14:53 | 显示全部楼层

用OUTLOOK?九年没用OUTLOOK了。

回复

使用道具 举报

发表于 2010-6-13 15:26 | 显示全部楼层

利用几个都可办到,到网上找找,很多的

回复

使用道具 举报

 楼主| 发表于 2010-6-17 09:04 | 显示全部楼层

请楼上的跟我一个地址,谢谢!
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-16 11:47 , Processed in 0.284491 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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