Excel如何读写Word表格中的数据?

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

写入Word文档

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

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

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

最终结果如下图所示:

代码解释

wdapp.Documents.Open Filename:=ThisWorkbook.Path & "\test.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.Application
Dim wddoc As Document
Set wdapp = New Word.Application
wdapp.Documents.Open Filename:=ThisWorkbook.Path & "\test.docx"
wdapp.Visible = True
With wdapp.Documents(1).Tables(1).Range
For i = 1 To .Cells.Count
.Cells(i).Range = i
Next
End With
End Sub

读取Word中的数据

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

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

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

代码说明:

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 Next
Dim wdapp As Word.Application
Dim wddoc As Document
Set wdapp = New Word.Application
wdapp.Documents.Open Filename:=ThisWorkbook.Path & "\test.docx"
wdapp.Visible = False
n = 1
With wdapp.Documents(1).Tables(1).Range
For i = 1 To .Cells.Count
u = Left(.Cells(i).Range, Len(.Cells(i).Range) - 2)
If IsNumeric(u) Then
n = n   1
Cells(n, 1) = u
End If
Next
End With
Cells(1, 1) = "提取数字"
wdapp.Quit
End Sub

小结

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

(0)

相关推荐

  • 如何计算WORD表格中的数据?

    众所周知,Excel是数据计算和分析的高手,我们日常工作生活在使用WORD时,有需要对WORD表格中的数据进行计算处理时,我们会想到利用Excel电子表格来处理,然后再将数据填入到相应的单元格中,但是 ...

  • 如何让Word表格中的数据按大小依次排列?

    对于升序.降序这种排序功能,我们可能更多的是在Excel表格中使用到.其实对于Word表格中的数据,我们也一样可以使用排序功能,让表格中的数据从小到大或从大到小依次排列.今天就和大家分享下如何操作吧. ...

  • Word表格中的数据进行统计的方法

    Word表格中的数据进行统计的方法 例如,财务人员需要对上半年每个月中的收支情况进行统计,计算"收入"."支出"列的总和,并计算每个月的净收入(即"收 ...

  • 怎样对word表格中的数据进行统计运算

    工作学习中,word成为了我们不可缺少的工具,有些时候,为了更能表达,我们需要运用word对数据进行统计,下面,我就为大家介绍一下怎样对word表格中的数据进行统计运算. 一 如何求和 01 首先在w ...

  • word表格中的数据怎么计算求和?

    一般计算我们都会选择使用excel,毕竟excel计算功能强大,但是word中也可以做一些简单的计算,下面我们就来看看详细的教程. 1.Œ将鼠标定位在要插入公式的单元格中,在“表格工具”栏中,单击“ ...

  • Word表格中的数据如何求和?

    如果要计算Excel表格中数据之和,那是很容易的一件事.可是如果要计算Word表格中数据之和又该怎么弄?今天就和大家分享下如何算出Word表格中数据之和. 操作方法 01 打开Word文档,我们先在文 ...

  • 怎样在Word表格中对数据进行排序操作

    对数据进行排序并非Excel表格的专利,在Word2007中同样可以对表格中的数字.文字和日期数据进行排序操作 步骤/方法 01 第1步,打开文档 02 第2步,打开"排序"对话框 ...

  • excel怎么求积? Excel2016表格中的数据求乘积的教程

    excel中计算数据很方便,想要计算excel数据中的乘积,该怎么计算呢?下面我们就来就看看详细的教程. 1.先找到需要求积的工作簿. 2.点击打开工作簿. 3.找到金额栏,然后选中金额的下一栏. 4 ...

  • word表格中的数据怎么进行除法运算?

    在word中,如何使用表格的除法呢? 1.首先,打开一篇有表格的word. 2.接着,要明确行列号.与excel一样,表格中列号用A,B,C......表示,行号用1,2,3......表示,每一单元 ...

  • Excel如何统计不同表格中相同数据的个数

    Excel统计不重复数值的个数,方法有很多,今天要跟大家讲的是使用"COUNTIF SUM"函数的方法,如果你没用过,那就花3分钟来学学吧!下图的表格中,要求我们统计出B3:D8单 ...