【Excel VBA 编程】读取Word中一堆姓名并自动排成一列显示到Excel中

目录

引言

问题的分析与设计

Word文档读取操作

一堆名字拆分并按列写入Excel单元格

代码入口设计

代码实现

运行结果

回顾总结


引言

如下图,Word文档中有一堆名字,名字中间是用空格隔开的,现在需要将它们逐一分开并输出到Excel表中,排成一列显示,即每个单元格中只能有一个名字

工作中遇到这类问题,大家都是怎么操作的呢?是不是还在用手工一个个粘贴复制过去呢?那样太费时间了,现在就提供给大家一种处理这类问题的方法,一键操作绝对省时省力!按照文中步骤操作,再多的数据也不怕,又有时间去品茶了,惬意!

问题的分析与设计

Word文档读取操作

首先我们需要定义两个特殊变量,WordApp和wordDoc

  • WordApp就是Word应用,把所有打开的Word文档关闭后(菜单栏顺次选择“文件”、“关闭”)就可以看到它了
  • 至于wordDoc,这个就比较好理解了,我们经常编辑、修改的具体文档,它是和文件存储路径及文件名紧紧绑定在一起的,换句话说只要知道文件存放的路径和文件名我们就能成功得打开word文档了

接着是文档的打开及读取操作

  • 已经创建好的Word文档,想用WordApp打开就需要用到:wordApp.Documents.Open("完整的路径+文件名") 
  • 可以一段一段的读取Word中内容:wordDoc.Paragraphs(Index).Range.Text 

最后关闭打开的Word文档,养成好的习惯,程序有始有终

  • 不需要保存更改,wordDoc.Close SaveChanges:=False,若需要改为True即可
  • App关闭退出,wordApp.Quit
  • 如果想关闭所有的Word可以使用Set wordApp = Nothing;如果只是想关闭程序中打开的Word,不影响其他Word文件的正常使用,可以不用,根据实际情况来定
  • 释放资源,Set wordDoc = Nothing

一堆名字拆分并按列写入Excel单元格

将获取到的一堆名字进行拆分,最简单的就是正则表达,只需要获取2~3个汉字即可解决,汉字编码区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wei1019

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值