2023-03-24 15:51来源:m.sf1369.com作者:宇宇
可用CreateObject函数创建对EXCEL的引用,然后就可打开EXCEL工作簿,将表格中的数据复制到WORD中,参考代码如下:
Set xlapp = CreateObject("excel.application")With xlapp.Open("带路径的EXCEL文件名") .Sheets(1).Range("A1:H8").Copy '粘贴到WORD指定位置End Withxlapp.Quit
用VBA代码法批量修改文件名,快速又高效!
案例:将3000个文件,由"姓名.JPG",重命名为“部门-姓名.JPG"
第一步,导入VBA模板文件
新建一个EXCEL文档,按ALT+F11 调出VBA 编辑器 →在工程窗口右键选择【导入文件】→选择VBA 模块文件(批量重命名.bas)→关闭VBA 编辑器。
第二步,批量获取文件名
①点【开发工具】→【宏】→选择宏“批量获取文件名”→【执行】,弹出浏览文件夹对话框,选择你需要重命名文件所在文件夹,这里我们选择test测试文件夹,确定后,测试文件夹的所有文件的旧版文件名,文件类型,所在位置都列出来了。
②由于我们要把部门和身份证号放到文件名中,所以我们要用vlookup从员工花名册中将员工的部门和身份证号查找出来,这里将增加一个辅助列,在辅助列输入公式获取员工姓名,=LEFT(A2,LENB(A2)-LEN(A2)),其中LENB是计算字节数的函数,LEN是计算字符数的函数,LEFT(A2)函数,即从旧版名称的左边截取单元格的中文姓名;
VLOOKUP,通过姓名在员工花名册中找出员工的部门和身份证号,并用&把查找出来的部门、身份证号和姓名以及他们中间的小横杆连接起来。
公式:=VLOOKUP(E2,员工花名册!B:C,2,0)&"-"&VLOOKUP(E2,员工花名册!B:D,3,0)&"-"&A2,公式写好后,往下填充,新版名称就都出来了。
第三步,批量重命名文件。
点【开发工具】→【宏】→选择宏“批量重命名”→【执行】
2分钟,所有的文件已按要求重命名好了。这个方法超级实用,超级快速!
如果觉得好用,请关注、点赞、评论、转发,更多的EXCEL技能,大家可以关注今日头条“EXCEL学习微课堂”。如需批量重命名VBA代码文件,请关注、转发后私信联系我。
VBA 读取/写入文本文件
1、Open 语句
打开方式有
Input:以读取方式打开。
Output:以写入方式打开。
Append:以追加方式,即添加内容到文件末尾打开。
Binary:以二进制方式打开。
Random:以随机方式打开,如果未指定方式,则以 Random 方式打开文件。
Open pathname For mode As [#]filenumber
Open "c:\a.txt" For Output As #1
filenumber 是一个有效的文件号,范围在 1 到 511 之间。
如果 pathname 指定的文件不存在,那么,在用 Append、Binary、Output、或 Random 方式打开文件时,可以建立这一文件。
Sub Demo()
Dim rng As Range
Dim mMatches As Object, mMatch As Object
For Each rng In Range("E1:E300")
With CreateObject("VBSCRIPT.REGEXP")
.Global = True
.Pattern = "reqdate"
.IgnoreCase = True
Set mMatches = .Execute(rng.Text)
For Each mMatch In mMatches
rng.Characters(mMatch.FirstIndex + 1, 7).Font.ColorIndex = 3
Next
End With
Next
End Sub
你说的这个教程可以参考使用。
(1)在这部分代码首尾加循环,遍历WORD中的所有表格。这部分只是把第WORD的第1个表格的数据写入EXCEL的代码。
(2)修改相应代码。比如WORD中TABLES的序号,读取和赋值的单元格行列号,采用变量表示,在每次循环时增加几。
用VBA找寻最后一行行数的方法:
使用End属性在ExcelVBA中,使用End(xlUp)查找最后一行是最常使用且最为简单的方法,它假设要有一列总包含有数据(数字、文本和公式等),并且在该列中最后输入数据的单元格的下一行不会包含数据,因此不必担心会覆盖掉已有数据