热点文章

办公电话:029-85603288

邮箱:cwzcb@npumd.edu.cn

办公地址:明德楼415室

当前位置: 首 页>>财务资产部>>办事指南>>正文
 
解放您复制粘贴的双手:批处理技巧合集
2017-09-30 15:48  

员工证件照、各类电子文档名称杂乱无章,如果一个个手动去更改,费时耗力不说,还极有可能出错。加班不出活儿,升职加薪甚无望,怎么办?

跟着表姐一起学习批处理的相关操作吧,解放您复制粘贴的双手。


业务场景:

批量制作员工工作证


延伸应用:

①快速获取文件名,并进行重命名,提高文档整理效率

②批量制作准考证、HR面试通知函、财务对账函等

③批量制作指定文件名的多张相同空白表,如:各部门预算登记表、员工薪酬调整单等。


【1】获取文件名


制作工作证之前,我们首先整理员工证件照文件夹中,JPG证件照的名称杂乱无章。


面对员工档案的证件照命名原则并不规范的情况,我们需要按照员工编号-员工姓名的形式,对其进行重命名。


1首先使用VBA的方式,获取该文件夹下的所有文件名。


V

ba

批量取出文件名

Sub name_LZ() '表姐凌祯【EWoffice】

   Dim MyName, Dic, Did, I, T, F, TT, MyFileName

   On Error Resume Next


Application.ScreenUpdating = False

   Set objShell = CreateObject("Shell.Application")

   Set objFolder = objShell.BrowseForFolder(0, "选择文件夹", 0, 0)

   If Not objFolder Is Nothing Then lj = objFolder.self.Path & "\"


   Set objFolder = Nothing

   Set objShell = Nothing

 

   T = Timer

   Set Dic = CreateObject("Scripting.Dictionary")    '创建一个字典对象

   Set Did = CreateObject("Scripting.Dictionary")

   Dic.Add (lj), ""

   I = 0

   Do While I < Dic.Count

       Ke = Dic.keys   '开始遍历字典

       MyName = Dir(Ke(I), vbDirectory)    '查找目录

       Do While MyName <> ""

           If MyName <> "." And MyName <> ".." Then

               If (GetAttr(Ke(I) & MyName) And vbDirectory) = vbDirectory Then    '如果是次级目录

                   Dic.Add (Ke(I) & MyName & "\"), ""  '就往字典中添加这个次级目录名作为一个条目

               End If

           End If

           MyName = Dir    '继续遍历寻找

       Loop

       I = I + 1

   Loop

   Did.Add ("文件清单"), ""    '以查找D盘下所有EXCEL文件为例

   For Each Ke In Dic.keys

       MyFileName = Dir(Ke & "*.jpg")'注意,此处更改为您需要统计的文件格式,如果为Excel,则更改为xlsx,或其他文件格式的后缀!

       Do While MyFileName <> ""

           Did.Add (Ke & MyFileName), ""

           MyFileName = Dir

       Loop

   Next

   For Each Sh In ThisWorkbook.Worksheets

       If Sh.Name = "文件清单" Then

           Sheets("文件清单").Cells.Delete

           F = True

           Exit For

       Else

           F = False

       End If

   Next

   If Not F Then

       Sheets.Add.Name = "文件清单"

   End If

   Sheets("文件清单").[a1].Resize(Did.Count, 1) = WorksheetFunction.Transpose(Did.keys)

   TT = Timer - T


Application.ScreenUpdating = True

MsgBox "汇总完毕,请您查阅,谢谢!"


End Sub

使用方法:

1.打开Excel,按键盘ALT+F11打开Excel后台,VB编辑窗口。

2.点击插入选项卡,插入一个模块,然后将上述代码,复制到右侧编辑窗口,如下图所示。

3.点击运行按钮

4.此时Excel会弹出一个对话框,让您选择文件路径。请您点击需要提取文件名的文件夹路径。


VBA代码自动运行后,可以提取出您所选择的文件夹下,所有格式为您要求的jpg/docx/xlsx格式的文件路径+名称,如下:


除了VBA的方法以外,还可以用Windows获取文件路径的方式,完成上述需求:

操作方法:

在文件夹中,选中所有文件后,按键盘shift+单击鼠标右键,选择【复制为路径】,再粘贴到Excel当中就好了。


2使用bat批处理文件,将图片进行重命名。

在Excel当中,使用函数,将原JPG的文件名,整理为员工编号-员工姓名的格式。

其中B列的公式为:

="ren "&A1&".jpg "&C1&".jpg"

(请直接复制使用,注意ren后有一个空格符)


将B2:B21单元格的值复制下来,粘贴到【证件照】文件夹下的新建的一个txt文本文档中,保存关闭。

然后,将txt文本文件的后缀名,更改为bat批处理文件。

双击运行,即完成照片的批量重命名。

照片重命名后,效果如下:


【2】用邮件合并制作工作证


开始邮件合并之前,我们整理两份原文件:

①用于邮件合并的Word模板

②用于存放员工信息的Excel原文件

注意,图片存储的路径,要用\\区分各级。如:

D:\\lingzhen-凌祯\\【表姐来了】批处理微课\\证件照\\EWoffice001-金三胖.jpg


【邮件合并】

①打开Word模板,点击【邮件】选项卡--【开始邮件合并】--【普通Word文档】


②点击【选择收件人】--【使用现有列表】


在弹出的对话框中,找到示例文件的Excel原文件,并选择【数据源$】表。


③点击【插入合并域】将对应的字段(如:姓名、部门、职位等),放到Word模板的对应文本位置处。


④光标停留在【照片】文本框的位置,点击【插入】选项卡--【文档部件】--【域】。


在弹出的【域】对话框中,左侧【域名】区域,选择:includepictuer;在【域属性】文件名或URL中输入任意值,比如:表姐。(这里输入的内容只起到占位符的效果,在下一步操作者会被删除的)

插入后,【照片】位置会显示为:无法显示。这是因为图片索引的信息,还没有刷新到Word当中来。

此时,按住键盘ALT+F9,查看域代码:

选中刚刚输入的占位符【表姐】,del删除后,在插入与中,选择对应的【照片地址】字段:


⑤完成上述步骤后,按键盘【ALT+F9】关闭域编辑状态。

然后,按F9刷新图片来源,并调整图片大小至合适位置。


⑥点击【完成并合并】--【编辑单个文档】

在弹出的【合并到新文档】对话框中,默认选择【全部】,点确定。

也可以根据需要,选择部分记录,如:从100-200等。


此时Word将新建生成一个新文档,按键盘CTRL+A全选文档以后,按键盘F9刷新图片源即可。最终成果物如下:


【3】批量新建多张表

每到年初、月初的时候,很多小伙伴都要新建N多张空白表,比如:各月度、各部门人员动态情况一览表,并且对每个工作表要求显示为该部门名称。


除了手动填写的方法以外,我们使用数据透视表--【显示报表筛选页】的方式,快速生成自定义部门名称的子表。


①根据部门名称,创建一张数据透视表,将【部门名称】放在【筛选器】字段处。


②点击【数据透视表工具】--【分析】选项卡下--【选项】中--【显示报表筛选页】



在弹出的对话框中,点击【确定】。


Excel快速生成了多张以【部门名称】命名的空白工作表。

鼠标右键单击sheet表名称区域的左右三角,可以打开工作表【激活】窗口,查看本工作簿中的所有工作表,以实现快速选中。


③点击工作表页签区域,按住键盘选中各部门的工作表,使得工作簿变为【工作组】的状态。

选中数据透视表区域,点击【开始】选项卡--【编辑】--【清除】--【全部清除】,即可将表格清空。

注:在此状态下,通过选中第1行并删除行的方式,是无法删除数据透视表的。


然后将模板表中的工作表,粘贴到工作组当中,即完成了批量新建。


来源:E维课堂EWoffice


关闭窗口
 

学院地址:西安市长安区西北工业大学沣河校区  邮编:710124
版权所有© 苹果彩票网官财务资产部  技术支持:网络信息中心   陕ICP备13005374号-1