以WPS 2019版本为例:
关于Excel 怎么自动发送工资单到对应邮箱,您可考虑使用WPS2019来完成,具体步骤如下:
1、打开「工资表表格」,点击「开始-文档助手-工资条群发助手」;
2、「工资条群发助手」会自动识别表格的内容生成预览;
3、如不知道怎么写「工资条」还新建表格后进入「工资条群发助手」一键插入工资表模板。
4、在预览无误后,直接点击发送即可调用「系统默认邮件应用」来批量发送工资条给对应同事,每位同事只能收到自己的工资条。
邮件合并操作起来容易一些,如果想更省事,可以用VBA调用Outlook来批量处理邮件。
另外,下面的例子是调用CDO.Message来发送邮件,注释部分填入个人需要的信息即可。
如果要批量处理,只需要做个循环即可,下述代码经本人本机实测,可以使用。
Option Explicit
Sub 发邮件()
Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing"
Const cdoSendUsingPort = 2
Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSMTPConnectionTimeout = "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
Const cdoSMTPAuthenticate = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
Const cdoBasic = 1
Const cdoSendUserName = "http://schemas.microsoft.com/cdo/configuration/sendusername"
Const cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword"
Dim objConfig, objMessage, Fields
Set objConfig = CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields
With Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "" 'smtp邮件发送服务器
.Item(cdoSMTPServerPort) = 25
.Item(cdoSMTPConnectionTimeout) = 10
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSendUserName) = "" '发送者邮件地址
.Item(cdoSendPassword) = "" '发送者邮件密码
.Update
End With
Set objMessage = CreateObject("CDO.Message")
Set objMessage.Configuration = objConfig
With objMessage
.BodyPart.Charset = "GB2312" '邮件内容编码
' .BodyPart.Charset = "shift-jis" '邮件内容编码
.To = "" '接收者邮件地址
.Cc = ""
.From = "" '发送者邮件地址,与上面设置相同
.Subject = "Test mail, Sent by CDO.Message" '邮件主题
.HtmlBody = "TEST -- cdo.message" '邮件内容
'.AddAttachment ""
.Send
End With
Set Fields = Nothing
Set objMessage = Nothing
Set objConfig = Nothing
MsgBox ("发送成功……")
End Sub