【代工案例002】批量发送Word工资条

▎具体需求

某公司财务,每个月要发送几百个员工的工资条,数据均来源于Excel,需要转成Word文档格式,并发送。

Excel工资信息

Word工资条信息

收件效果

▎思路分析

首先,需要对Excel的每一行信息进行循环,一行信息生成一个Word文档。这里单独做一个word模板,把每一行工资数据直接填入Word中,涉及到向Word表格写数据的知识。

▎源代码

Sub 批量发送工资条() Set doc = CreateObject("word.application") '创建Word对象 doc.Visible = True '显示Word程序 rrow = ThisWorkbook.Worksheets(1).Range("b65536").End(3).Row For i = 2 To rrow '对个人信息进行循环 Set wd = doc.documents.Open(ThisWorkbook.Path & "\模板.docx") '打开文档,赋值给对象变量wd Set tbl = wd.tables(1) '把文档中的表格1,赋值给对对象变量tbl tbl.cell(2, 1).Range.Text = Cells(i, 3).Value '姓名 tbl.cell(2, 2).Range.Text = Cells(i, 4).Value '工资级别 tbl.cell(2, 3).Range.Text = Cells(i, 5).Value '工资档位 tbl.cell(2, 4).Range.Text = Cells(i, 6).Value '基本工资 tbl.cell(2, 5).Range.Text = Cells(i, 7).Value '综合福利补贴 tbl.cell(2, 6).Range.Text = Cells(i, 8).Value '月度绩效奖 tbl.cell(2, 7).Range.Text = Cells(i, 9).Value '预发效益奖 tbl.cell(2, 8).Range.Text = Cells(i, 10).Value '按月发放效益补贴 tbl.cell(2, 9).Range.Text = Cells(i, 11).Value '交通补贴 tbl.cell(2, 10).Range.Text = Cells(i, 12).Value '通讯补贴 tbl.cell(2, 11).Range.Text = Cells(i, 13).Value '补/扣工资 tbl.cell(4, 1).Range.Text = Cells(i, 14).Value '生活补贴 tbl.cell(4, 2).Range.Text = Cells(i, 15).Value '应发总额 tbl.cell(4, 3).Range.Text = Cells(i, 16).Value '住房公积金个人缴纳 tbl.cell(4, 4).Range.Text = Cells(i, 17).Value '养老保险个人缴纳 tbl.cell(4, 5).Range.Text = Cells(i, 18).Value '医疗保险个人缴纳 tbl.cell(4, 6).Range.Text = Cells(i, 19).Value '失业保险个人缴纳 tbl.cell(4, 7).Range.Text = Cells(i, 20).Value '大额医疗个人缴纳 tbl.cell(4, 8).Range.Text = Cells(i, 21).Value '企业年金个人缴纳 tbl.cell(4, 9).Range.Text = Cells(i, 22).Value '减:个税 tbl.cell(4, 10).Range.Text = Cells(i, 23).Value '实发合计 doc.Selection.Find.ClearFormatting doc.Selection.Find.Replacement.ClearFormatting With doc.Selection.Find .Text = "备注:" .Replacement.Text = "备注:" & Cells(i, "X").Value '书写备注信息 End With doc.Selection.Find.Execute Replace:=2 wdpath = ThisWorkbook.Path & "\" & ActiveSheet.Name & "月份工资表.docx" '保存word工资条 wd.SaveAs wdpath '另存工资条文档 wd.Close True '//开始发送邮件 Set myOlApp = CreateObject("Outlook.Application") Set objMail = myOlApp.CreateItem(olMailItem) With objMail .To = Cells(i, "Y").Value '//收件人 substr = "您好," & Replace(ActiveSheet.Name, "工资表", "") & "工资单,请注意查收并保密,谢谢。" .Subject = substr '//主题 .Body = Cells(i, "X").Value '//正文具体内容 .Attachments.Add wdpath '//添加附件 '.display .send End With Set objMail = Nothing Next doc.Quit MsgBox "发送完成!"End Sub

▎知识点

  • 发送邮件核心代码

    该方式,必须提前在OutLook中设置好账号信息。不同的邮箱类型,需要根据不同的方式进行设置。这样才能调用OutLook进行发送。

Set myOlApp = CreateObject("Outlook.Application") Set objMail = myOlApp.CreateItem(olMailItem) With objMail .To = Cells(i, "Y").Value '//收件人 substr = "您好," & Replace(ActiveSheet.Name, "工资表", "") & "工资单,请注意查收并保密,谢谢。" .Subject = substr '//主题 .Body = Cells(i, "X").Value '//正文具体内容 .Attachments.Add wdpath '//添加附件 '.display .send End With
  • Excel创建Word程序并打开

    该段代码作用:创建Word程序对象,并写入内容123。最后保存为例子.docx。

Sub 操作word() Set doc = CreateObject("word.application") '创建Word对象 Set wd = doc.Documents.Add doc.Visible = True strr = 123 '需要导入的字符串 .TypeText strr .TypeParagraph wd.SaveAs ThisWorkbook.Path & "\例子.docx"End Sub
(0)

相关推荐

  • 使用python-docx模块读写word文件

    word文档的自动化处理是一件比较头痛的事情,因为深耕于windows操作系统,对于跨平台需求的word文档编辑,是非常痛苦的一件事.在python的生态环境中,提供了python-docx这个模块, ...

  • (1条消息) Python对word文档进行操作

    Python-docx Python-docx是专门针对于word文档的一个模块,只能操作docx 不能读取doc文件.在这里python-docx主要的功能是对docx文件进行操作,管理等. 官方文 ...

  • 【代工案例001】Word VBA批量插入图片

    ▎具体需求 手里面有上千个文件夹,每个文件夹里面包含2张照片,我们需要把这些图片插入到word文档的表格中.每3个文件夹作为一页. 文件夹示意 文件夹内部图片 最终效果 ▎思路分析 首先需要获取文件夹 ...

  • 如何批量修改word文档中字母的大小写

    在使用word文档编辑文字的时候,尤其是手动输入的时候往往不能考虑很周全,导致文档中的英文字母的大小写错误,或者由于完成稿件后,boss给出修改意见--文档中的字母的大小写需要修改.对于篇幅较短的文档 ...

  • 赛麟汽车:找来一个老赖企业为自己代工!

    之前大虎悠就写过文章,表示个人看不惯一夜成名的赛麟汽车.跑来中国找刺激找新鲜感.把自己包装成世界顶级跑车.名车,把创始人描绘成世界顶级汽车设计大师.可真正我们去到美国官网了解,发现赛麟只是一个改装品牌 ...

  • 菜鸟记158-妙用查找替换批量删除WORD文档中的空行

    注:本图由专业摄影师甜甜溪水授权使用 关键词:WORD2016:批量替换:操作难度** 各位爱学习的教学管理人员,您有没有遇到这样的情况 从网上下(复制)载(粘贴)的参考文献,有很多个空行 图1:假装 ...

  • 菜鸟记321-如何批量为WORD文档替换指定字体?

    万一您身边的朋友用得着呢? 免费咨询热线:如果您有工作中的困惑要和小菜分享或探讨,欢迎您发送邮件至3482197@QQ.COM,咱们一起研究提高. 写在前面的话:今天是小菜本学期最后一个工作日,从明天 ...

  • NMN贴牌代工不仅在美国,只要你认准了这4点,OEM、ODM都不是事儿

    一个新事物的兴起,必然会造就一批敢于在市场博弈的先行者,这些人被统称为智者.早在上一个五年计划当中,就有人提出了下一波的造富潮,必然会出现在大健康产业.甚至逐渐消失在公众面前的马云也曾说过:" ...

  • 运动鞋代工龙头,预期50%的涨幅

    华利集团头部的运动鞋制造商,产品主要包括运动休闲鞋.户外靴.运动凉鞋/拖鞋等,与Nike.Converse. Vans.Puma.UGG.Columbia.UnderArmour.HOKA ONE O ...

  • 【季度盘点】一季度全球电视代工市场:需求持续强劲,出货同比增长34%

    2021年整机制造商正在经历成本大幅上涨与缺芯少料的双重困扰,但在宅经济持续带动下,全球电视整机需求依然表现强劲,品牌厂商拉货意愿强烈.在去年同期低基数影响下,今年一季度代工出货反弹明显.奥维睿沃&l ...

  • 如何批量去除word文档中的自动添加的波浪线

    在使用word文档编辑文本的时候,文档会自动在一些文本的下方标注波浪线用以提醒使用者注意.由于word文档不是十分智能,这些提醒会有一些时候错误的.如果使用者不希望看见这些红红绿绿的波浪线,可以关闭这 ...