word vba 判断当前光标是否在页面第一行_Excel如何读写Word表格中的数据?VBA轻松搞定...

上篇文章我们介绍了如果在Excel中利用VBA技术访问Word文档,今天我们就说说如何在Excel中利用VBA写入/提取Word文档中的数据。

43253dd117619d3a39e8845bd94ac22a.png

写入Word文档

当前文件夹中存在一个test的Word文档,文档中仅有一张六列三行的空表格,现在我们在Excel中利用VBA向此Word文档中写入内容。

56f8061131b601ff5be260ee2548a8db.png

当前文件夹,打开一个Excel,打开Visual Basic视图,输入以下代码:

d35b158e658c9def06e16c83016865fa.png

点击运行按钮,即可发现,Word文档中的表格1,已经被填充数字。

最终结果如下图所示:

6f2f6180ce24aa944fbfd73f4e242e85.png

代码解释

wdapp.Documents.Open Filename:=ThisWorkbook.Path & "est.docx"

打开当前文件夹下名字为test的Word文档;

wdapp.Visible = True

打开之后,使文档处于可视的状态;

wdapp.Documents(1).Tables(1).Range

Word文档表格1(Tables(1))的范围,这里表格共三行六列,所以range等于18;

.Cells(i).Range = i

这里将Word表格1中写入对应的数字;

完整代码如下所示:

Sub 数据写入word中()Dim wdapp As Word.ApplicationDim wddoc As DocumentSet wdapp = New Word.Applicationwdapp.Documents.Open Filename:=ThisWorkbook.Path & "est.docx"wdapp.Visible = TrueWith wdapp.Documents(1).Tables(1).RangeFor i = 1 To .Cells.Count.Cells(i).Range = iNextEnd WithEnd Sub

读取Word中的数据

下图中,Word中存在一张表 表1,里面存储着不同的数据,现在我们需要把纯数据项提取出来 ,并汇总到Excel单元格中。

cbbfc30760c9b12e6eb43abe146356f9.png

打开Visual Basic视图,输入以下代码:

a8f1e5b6776d1191f8c0ae98e2fd9863.png

点击运行按钮,完成数据的提取,结果如下图所示:

30532f2d8a325470e59fa55771b1438d.png

代码说明:

Left(.Cells(i).Range, Len(.Cells(i).Range) - 2):

.Cells(i).Range为当前Word单元格中的内容,如第一个单元格内容是【18】,但提取出来的并不是单纯的18,在VBA本地窗口中可以发现,它是一个【18 】,18+空格+一个正方形;但是我们只要数字18,后面的空格和正方形是不需要的,这里用一个left函数,去除后两位,提取数字;

IsNumeric(u):

判断u是否为数字,如果是则进入下一步,如果不是则结束。

程序运行完一定要关闭Word哦,wdapp.Quit,切记!

明细代码如下图所示:

Sub 提取数据()On Error Resume NextDim wdapp As Word.ApplicationDim wddoc As DocumentSet wdapp = New Word.Applicationwdapp.Documents.Open Filename:=ThisWorkbook.Path & "est.docx"wdapp.Visible = Falsen = 1With wdapp.Documents(1).Tables(1).RangeFor i = 1 To .Cells.Countu = Left(.Cells(i).Range, Len(.Cells(i).Range) - 2)If IsNumeric(u) Thenn = n + 1Cells(n, 1) = uEnd IfNextEnd WithCells(1, 1) = "提取数字"wdapp.QuitEnd Sub

小结

以上就是关于Excel中利用VBA操作Word的相关介绍,如果觉得有用,欢迎关注我,定期分享数据小技巧!

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页