美文网首页
干货| 案例01期:VBA助力自动生成报告(内附下载)

干货| 案例01期:VBA助力自动生成报告(内附下载)

作者: Gavin与狗 | 来源:发表于2020-08-29 20:21 被阅读0次

    01

    使用背景

    1、VBA简介

    VBA作为一钟宏语言,在Excel、Word、PPT等软件中可Alt+F11一键开启编写。免去主流编程语言(如大热的Python)安装时的复杂与痛苦,像傻瓜一样复制代码进去即可立刻运行。堪称解放办公室一族的最佳利器!

    2、应用领域

    财务(报表、对账单、凭证等)、法务(合同等)、招投标(清标、报告等)、日常办公(打印、批量调整格式、批量发送邮件、爬取网页数据等)等各方面涉及office软件的自动化操作。

    3、本文目标解决

    编程小白人群的日常办公——自动生成Word介绍信/报告。

    02

    实现效果

    无需打开介绍信,并手动调整内容。仅在Excel表中填写完毕,并可推广运用至批量生成该介绍信/报告。

    实现效果可自动生成如下图的介绍信,其中接收单位医院、所在科室、申请人职称、申请人姓名、开始年月日、结束年月日、当前年月日,均可自动修改。

    03

    具体步骤

    1、新建文件夹,将Gavin提供的Excel文件和Word文本下载(后附下载链接);

    2、打开Excel文件将需要的医院名称、申请人姓名等13条信息修改完成;

    3、按下Alt+F11打开VBA窗口,再按F5快捷键,即可自动生成对应报告。

    04

    代码说明

    D1单元格为你需要编写的文本名称,本例子为“你要打开的文件名输在这里”;

    第九行代码Range("D1").Value & ".docx")在文本文件为doc格式时需要修改为Range("D1").Value & ".doc")。

    具体代码如下:

    Sub dataToWord() 

    Dim wordApp As Word.Application 

    Dim wDoc As Word.Document 

    Dim control As Word.ContentControl    

    Dim r,i As Integer r = 2 i = 1    

    Set wordApp = CreateObject("word.application") 

    Set wDoc = wordApp.Documents.Open(ThisWorkbook.Path & "/" & Range("D1").Value & ".docx") wordApp.Visible = True   

    For Each control In wDoc.ContentControls           

    control.Range.Text = Sheets(1).Cells(r, 3) 

         r = r + 1

         i = i + 1    

    Next 

    wordApp.Documents.Close 

    wordApp.Quit

    End Sub

    05

    扩展延伸

    目前实现的是单一Word介绍信的生成。如果想改成你的报告模板,可以将你需要的文本替换现有文档,同时需要替换的标识处(如本文的医院名称)插入格式文本内容控件,即可按Excel表中的顺序逐一替代Word中的内容标识。

    关注公众号:Gavin与狗(ID:callmeGavin8),回复“自动报告”,即可获取免费完整版下载地址。

    关注Gavin与狗,让你解放双手!

    相关文章

      网友评论

          本文标题:干货| 案例01期:VBA助力自动生成报告(内附下载)

          本文链接:https://www.haomeiwen.com/subject/fqbjsktx.html