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

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

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

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

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

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

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

编辑:

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'行数

Is=.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⑴.Select'选择整个表格wdWORD.ActiveDocument.Tables⑴.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(l)'创建表格对象

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'释放存储空间

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

EndSub

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

方格。

所以表格最后一个单元格的代码格式是.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⑴.Rows(3).Select'选择第3行

'wdWORD.ActiveDocument.Tables⑴.Rows(3).Range.SeIect'选择第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⑴.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).Rowshs).Select

选择最后一列

ls=wdWORD.ActiveDocument.Tables

(1).Columns.Count'列数

wdWORD.ActiveDocument.Tables

(1).Columns(s).Select

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

1选择连续行

【代码】

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⑴’定义表格变量

wDoc.Range(wBGCell(2,1).Range.Start,wBG.Cell(wBG.Rows.Count,wB

G.Columns.Count).Range.End).Select'选择第2行到最后一行

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

SetwBG=Nothing'释放存储空间

SetwDoc=Nothing'释放存储空间

SetwdWORD=Nothing'释放存储空间

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

EndSub

2选择任意列

【代码】

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⑴’定义表格变量

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(wBGColumns(4).RangeStart,wBG.Columns(7).RangeEnd).S

elect'选择第4列到第7列

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

【代码】

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⑴’定义表格变量

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'释放存储空间

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⑴.Rows

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

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

'wDoc.Application.Selection.lnsertRowBelow3'指定行下方插入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.lnsertRowsAbove3在所选择行的上方新

插入3行。

如果执行代码wDoc.Application.Selection.lnsertRowBelow3,则是在

所选择行的下方新插入3行。

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

【代码】

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

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

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

SetwDo

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

当前位置:首页 > 经管营销 > 经济市场

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

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