在EXCEL中用VBA处理WORD表格常规属性.docx

上传人:b****2 文档编号:2703260 上传时间:2023-05-04 格式:DOCX 页数:28 大小:22.91KB
下载 相关 举报
在EXCEL中用VBA处理WORD表格常规属性.docx_第1页
第1页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第2页
第2页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第3页
第3页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第4页
第4页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第5页
第5页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第6页
第6页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第7页
第7页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第8页
第8页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第9页
第9页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第10页
第10页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第11页
第11页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第12页
第12页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第13页
第13页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第14页
第14页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第15页
第15页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第16页
第16页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第17页
第17页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第18页
第18页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第19页
第19页 / 共28页
在EXCEL中用VBA处理WORD表格常规属性.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

在EXCEL中用VBA处理WORD表格常规属性.docx

《在EXCEL中用VBA处理WORD表格常规属性.docx》由会员分享,可在线阅读,更多相关《在EXCEL中用VBA处理WORD表格常规属性.docx(28页珍藏版)》请在冰点文库上搜索。

在EXCEL中用VBA处理WORD表格常规属性.docx

在EXCEL中用VBA处理WORD表格常规属性

在EXCEL中用VBA设置WORD表格常规属性

编辑:

madmlwt

1.计算WORD文档中的表格个数

【要求】

在EXCEL中用VBA计算指定的WORD文档“成绩表.doc”中非嵌入式表格的个数。

【代码】

Sub计算WORD表格个数()

Application.ScreenUpdating=False'关闭屏幕刷新

dqM=ThisWorkbook.Path&"\成绩表.doc"'带路径的WORD文件名称

SetwdWORD=CreateObject("Word.Application")'定义一个Word对象变量

SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象

bgS=dkDOC.Tables.Count'当前文档中的表格总数

dkDOC.Close'关闭文档

SetdkDOC=Nothing'释放存储空间

SetwdWORD=Nothing'释放存储空间

MsgBoxChr(10)&Dir(dqM)&"文档中共有"&bgS&"个表格!

",,"计算WORD表格个数"

Application.ScreenUpdating=False'关闭屏幕刷新

EndSub

提示:

嵌入式表格如WORD文档中插入的EXCEL表格、表格中插入的表格。

计算表格个数的代码格式——文档对象.Tables.Count

上述方法不能计算WORD文档中的嵌入式表格个数。

2.计算WORD文档中各个表格的行/列数

【要求】

在EXCEL中,遍历WORD文档“成绩表.doc”中的表格,计算表格的行数和列数。

【代码】

Sub计算指定WORD文档中表格行列数()

Application.ScreenUpdating=False'关闭屏幕刷新

dqM=ThisWorkbook.Path&"\成绩表.doc"'带路径的WORD文件名称

SetwdWORD=CreateObject("Word.Application")'定义一个Word对象变量

SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象

bgS=dkDOC.Tables.Count'当前文档中的表格总数

Forg=1TobgS'循环表格

WithdkDOC.Tables(g)'逐个表格计算

hs=.Rows.Count'行数

ls=.Columns.Count'列数

MsgBoxChr(10)&Dir(dqM)&"文档共有表格"&bgS&"个"_

&Chr(10)&Chr(10)&"第"&g&"个表格有"&hs&"行"&ls&"列",,"计算WORD表格行列数"'计算信息提示

EndWith

Nextg

dkDOC.Close'关闭文档

SetdkDOC=Nothing'释放存储空间

SetwdWORD=Nothing'释放存储空间

Application.ScreenUpdating=False'关闭屏幕刷新

EndSub

提示:

计算行数代码格式——文档对象.表格对象.Rows.Count

计算列数代码格式——文档对象.表格对象.Columns.Count

上述方法不能计算嵌入式表格的行/列数。

3.选定WORD表格的指定区域

⑴选定整个表格

【代码】

Sub选择WORD文档的指定表格整体()

Application.ScreenUpdating=False'关闭屏幕刷新

dqM=ThisWorkbook.Path&"\成绩表.doc"'带路径的WORD文件名称

SetwdWORD=CreateObject("Word.Application")'定义一个Word对象变量

SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象

wdWORD.Visible=True'窗口可见

'wdWORD.ActiveDocument.Tables

(1).Select'选择整个表格

wdWORD.ActiveDocument.Tables

(1).Range.Select'选择整个表格

'wdWORD.Quit'关闭新建文档窗口

SetdkDOC=Nothing'释放存储空间

SetwdWORD=Nothing'释放存储空间

Application.ScreenUpdating=False'关闭屏幕刷新

EndSub

⑵选定一个单元格

【代码】

Sub选择WORD表格的第一个单元格()

Application.ScreenUpdating=False'关闭屏幕刷新

dqM=ThisWorkbook.Path&"\成绩表.doc"'带路径的WORD文件名称

SetwdWORD=CreateObject("Word.Application")'定义一个Word对象变量

SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象

wdWORD.Visible=True'窗口可见

SetwdBG=wdWORD.ActiveDocument.Tables

(1)'创建表格对象

wdBG.Cell(1,1).Select'选择第一个单元格

'wdBG.Cell(1,1).Range.Select'选择第一个单元格

'wdWORD.Quit'关闭新建文档窗口

SetwdBG=Nothing'释放存储空间

SetdkDOC=Nothing'释放存储空间

SetwdWORD=Nothing'释放存储空间

Application.ScreenUpdating=False'关闭屏幕刷新

EndSub

⑶选定表格最后一个单元格

【代码】

Sub选择WORD表格的最后一个单元格()

Application.ScreenUpdating=False'关闭屏幕刷新

dqM=ThisWorkbook.Path&"\成绩表.doc"'带路径的WORD文件名称

SetwdWORD=CreateObject("Word.Application")'定义一个Word对象变量

SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象

hs=wdWORD.ActiveDocument.Tables

(1).Rows.Count'行数

ls=wdWORD.ActiveDocument.Tables

(1).Columns.Count'列数

wdWORD.Visible=True'窗口可见

SetwdBG=wdWORD.ActiveDocument.Tables

(1)'创建表格对象

wdBG.Cell(hs,ls).Range.Select'选择最后一个单元格

'wdWORD.Quit'关闭新建文档窗口

SetwdBG=Nothing'释放存储空间

SetdkDOC=Nothing'释放存储空间

SetwdWORD=Nothing'释放存储空间

Application.ScreenUpdating=False'关闭屏幕刷新

EndSub

注意:

一个表格的最后一个单元格由表格的最后一行hs和最后一列ls围成的一个方格。

所以表格最后一个单元格的代码格式是.Cell(hs,ls)。

⑷选定指定行/列

【代码】

Sub选择WORD表格指定行()

Application.ScreenUpdating=False'关闭屏幕刷新

dqM=ThisWorkbook.Path&"\成绩表.doc"'带路径的WORD文件名称

SetwdWORD=CreateObject("Word.Application")'定义一个Word对象变量

SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象

wdWORD.Visible=True'窗口可见

wdWORD.ActiveDocument.Tables

(1).Rows(3).Select'选择第3行

'wdWORD.ActiveDocument.Tables

(1).Rows(3).Range.Select'选择第3行

'wdWORD.Quit'关闭新建文档窗口

SetdkDOC=Nothing'释放存储空间

SetwdWORD=Nothing'释放存储空间

Application.ScreenUpdating=False'关闭屏幕刷新

EndSub

Sub选择WORD表格指定列()

Application.ScreenUpdating=False'关闭屏幕刷新

dqM=ThisWorkbook.Path&"\成绩表.doc"'带路径的WORD文件名称

SetwdWORD=CreateObject("Word.Application")'定义一个Word对象变量

SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象

wdWORD.Visible=True'窗口可见

wdWORD.ActiveDocument.Tables

(1).Columns(3).Select'选择第3列

'wdWORD.Quit'关闭新建文档窗口

SetdkDOC=Nothing'释放存储空间

SetwdWORD=Nothing'释放存储空间

Application.ScreenUpdating=False'关闭屏幕刷新

EndSub

【提示】

选择最后一行

hs=wdWORD.ActiveDocument.Tables

(1).Rows.Count'行数

wdWORD.ActiveDocument.Tables

(1).Rows(hs).Select

选择最后一列

ls=wdWORD.ActiveDocument.Tables

(1).Columns.Count'列数

wdWORD.ActiveDocument.Tables

(1).Columns(ls).Select

⑸选定WORD表格中任意连续区域

①选择连续行

【代码】

Sub选择WORD表格指定的连续行()

Application.ScreenUpdating=False'关闭屏幕刷新

dqM=ThisWorkbook.Path&"\成绩表.doc"'带路径的WORD文件名称

SetwdWORD=CreateObject("Word.Application")'定义一个Word对象变量

SetwDoc=wdWORD.Documents.Open(dqM)'创建文档对象

wdWORD.Visible=True'窗口可见

SetwBG=wDoc.Tables

(1)'定义表格变量

wDoc.Range(wBG.Cell(2,1).Range.Start,wBG.Cell(wBG.Rows.Count,wBG.Columns.Count).Range.End).Select'选择第2行到最后一行

'wdWORD.Quit'关闭新建文档窗口

SetwBG=Nothing'释放存储空间

SetwDoc=Nothing'释放存储空间

SetwdWORD=Nothing'释放存储空间

Application.ScreenUpdating=False'关闭屏幕刷新

EndSub

②选择任意列

【代码】

Sub选择WORD表格任意指定的连续列()

Application.ScreenUpdating=False'关闭屏幕刷新

dqM=ThisWorkbook.Path&"\成绩表.doc"'带路径的WORD文件名称

SetwdWORD=CreateObject("Word.Application")'定义一个Word对象变量

SetwDoc=wdWORD.Documents.Open(dqM)'创建文档对象

wdWORD.Visible=True'窗口可见

SetwBG=wDoc.Tables

(1)'定义表格变量

wDoc.Range(wBG.Cell(1,4).Range.Start,wBG.Cell(wBG.Rows.Count,7).Range.End).Select'选择第4列到第7列

'wdWORD.Quit'关闭新建文档窗口

SetwBG=Nothing'释放存储空间

SetwDoc=Nothing'释放存储空间

SetwdWORD=Nothing'释放存储空间

Application.ScreenUpdating=False'关闭屏幕刷新

EndSub

说明:

列没有Range对象属性。

所以在选择连续列时不能使用如下代码:

wDoc.Range(wBG.Columns(4).Range.Start,wBG.Columns(7).Range.End).Select'选择第4列到第7列

③选择任意连续单元格区域

【代码】

Sub选择WORD表格任意指定的连续单元格区域()

Application.ScreenUpdating=False'关闭屏幕刷新

dqM=ThisWorkbook.Path&"\成绩表.doc"'带路径的WORD文件名称

SetwdWORD=CreateObject("Word.Application")'定义一个Word对象变量

SetwDoc=wdWORD.Documents.Open(dqM)'创建文档对象

wdWORD.Visible=True'窗口可见

SetwBG=wDoc.Tables

(1)'定义表格变量

wDoc.Range(wBG.Cell(5,4).Range.Start,wBG.Cell(7,7).Range.End).Select'选择第5行4列到第7行7列构成的单元格区域

'wdWORD.Quit'关闭新建文档窗口

SetwBG=Nothing'释放存储空间

SetwDoc=Nothing'释放存储空间

SetwdWORD=Nothing'释放存储空间

Application.ScreenUpdating=False'关闭屏幕刷新

EndSub

【小结】

选择WORD表格中的任意连续区域,关键是确定起始位置和终止位置。

选择任意连续单元格区域的关键代码格式如下:

文档对象.Range(表格对象.Cell(起始行,起始列).Range.Start,表格对象.Cell(终止行,终止列).Range.End).Select

4.设置WORD表格的单元格格式

设置WORD表格的单元格格式,包括单元格中的文本对齐格式和文字的字体、字号、是否加粗等格式。

WORD表格单元格中的文本的对齐格式,是指段落在水平方向的对齐方式和在垂直方向的对齐方式。

所以在设置单元格的对齐方式时,一要设置单元格中的文本段落在水平方向的对齐方式即左对齐、居中、右对齐,二要设置文本在垂直方向的对齐方式即靠上、居中、靠下。

【问题】

以WORD文档“成绩表.doc”为例,设置标题行各单元格数据“中部居中(即水平居中且垂直居中)”、“华文新魏”、字号“12”、“加粗”。

【代码】

Sub设置WORD表格的单元格格式()

Application.ScreenUpdating=False'关闭屏幕刷新

dqM=ThisWorkbook.Path&"\成绩表.doc"'带路径的WORD文件名称

SetwdWORD=CreateObject("Word.Application")'定义一个Word对象变量

SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象

wdWORD.Visible=True'窗口可见

SetwdBG=wdWORD.ActiveDocument.Tables

(1)'创建表格对象

WithwdBG.Rows

(1).Range'表格第1行

.Font.Bold=True'加粗

.Font.Size=12'字号

.Font.Name="华文新魏"'字体

.ParagraphFormat.Alignment=1'水平居中

.Cells.VerticalAlignment=1'垂直居中

EndWith

'wdWORD.Quit'关闭新建文档窗口

SetwdBG=Nothing'释放存储空间

SetdkDOC=Nothing'释放存储空间

SetwdWORD=Nothing'释放存储空间

Application.ScreenUpdating=False'关闭屏幕刷新

EndSub

说明:

单元格数据居中即WORD程序菜单命令“表格/单元格对齐方式”的“中部居中”,指水平居中和垂直居中。

代码如下:

水平居中——单元格对象.ParagraphFormat.Alignment=1

垂直居中——单元格对象.Cells.VerticalAlignment=1

单元格对齐方式常量一览表

名称

常量代码

赋值

靠上两端对齐

wdAlignParagraphJustify

3

wdCellAlignVerticalTop

0

靠上居中

wdAlignParagraphCenter

1

wdCellAlignVerticalTop

0

靠上右对齐

wdAlignParagraphRight

2

wdCellAlignVerticalTop

0

中部两端对齐

wdAlignParagraphJustify

3

wdCellAlignVerticalCenter

1

中部居中

wdAlignParagraphCenter

1

wdCellAlignVerticalCenter

1

中部右对齐

wdAlignParagraphRight

2

wdCellAlignVerticalCenter

1

靠下两端对齐

wdAlignParagraphJustify

3

wdCellAlignVerticalBottom

3

靠下居中

wdAlignParagraphCenter

1

wdCellAlignVerticalBottom

3

靠下右对齐

wdAlignParagraphRight

2

wdCellAlignVerticalBottom

3

注意哦,表中的常量代码,在EXCEL中操作WORD时,由于后期绑定原因,必须用对应的赋值取代方可体现效果!

5.设置WORD表格的对齐格式

在WORD文档中的表格对齐,主要是指表格在页面水平方向的对齐,即左对齐、居中、右对齐。

对应WORD程序菜单命令“表格/表格属性/表格”中的三种对齐方式。

【代码】

Sub设置WORD文档中的表格对齐()

Application.ScreenUpdating=False'关闭屏幕刷新

dqM=ThisWorkbook.Path&"\放假通知.doc"'带路径的WORD文件名称

SetwdWORD=CreateObject("Word.Application")'定义一个Word对象变量

SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象

wdWORD.Visible=True'窗口可见

dkDOC.Tables

(1).Rows.Alignment=1'水平居中

'wdWORD.Quit'关闭新建文档窗口

SetdkDOC=Nothing'释放存储空间

SetwdWORD=Nothing'释放存储空间

Application.ScreenUpdating=False'关闭屏幕刷新

EndSub

6.在WORD表格中插入(删除)行/列

⑴插入行/列

【问题】

与当前操作的EXCEL文件保存在同一位置的WORD文档“放假通知.doc”中,第一个表格有2行10列,在表格选定行的上/下方或者左/右侧插入新行/列(一行/列或多行/列)。

①在指定行的上/下插入行

【代码】

Sub在指定行的上下插入行()

Application.ScreenUpdating=False'关闭屏幕刷新

dqM=ThisWorkbook.Path&"\放假通知.doc"'带路径的WORD文件名称

SetwApp=CreateObject("Word.Application")'创建WORD对象

SetwDoc=wApp.documents.Open(dqM)'创建文档对象

wApp.Visible=True'窗口可见

wDoc.Tables

(1).Rows

(2).Select'选择指定行(第2行,可以根据表格实际行数修改此数字值)

wDoc.Application.Selection.InsertRowsAbove3'指定行上方插入3行

'wDoc.Application.Selection.InsertRowsBelow3'指定行下方插入3行

Zh=wDoc.Tables

(1).Rows.Count'计算插入新行后的表格总行数

MsgBox"成功新插入3行,当前表格共有"&Zh&"行",,"在指定列的上下插入行"

'wDoc.CloseTrue

'wApp.Quit

SetwApp=Nothing

SetwDoc=Nothing

Application.ScreenUpdating=False'关闭屏幕刷新

EndSub

说明:

wDoc.Application.Selection.InsertRowsAbove3——在所选择行的上方新插入3行。

如果执行代码——wDoc.Application.Selection.InsertRowsBelow3,则是在所选择行的下方新插入3行。

②在指定列的左/右插入列

【代码】

Sub在指定列的左右插入列()

Application.ScreenUpdating=False'关闭屏幕刷新

dqM=ThisWorkbook.Path&"\放假通知.doc"'带路径的WORD文件名称

SetwApp=CreateObject("Word.Application")'创建WORD对象

SetwDoc=wApp.documents.Open(dqM)'创建文档对象

wApp.Visible=T

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2