wordvba表格序号.docx
《wordvba表格序号.docx》由会员分享,可在线阅读,更多相关《wordvba表格序号.docx(6页珍藏版)》请在冰豆网上搜索。
![wordvba表格序号.docx](https://file1.bdocx.com/fileroot1/2022-10/10/cfd61900-52ab-494e-99d5-6ebdba292b4e/cfd61900-52ab-494e-99d5-6ebdba292b4e1.gif)
wordvba表格序号
竭诚为您提供优质文档/双击可除
word,vba,表格序号
篇一:
在excel中用Vba处理woRd表格常规属性
在excel中用Vba设置woRd表格常规属性编辑:
madmlwt1.计算woRd文档中的表格个数【要求】在excel中用Vba计算指定的woRd文档“成绩表.doc”中非嵌入式表格的个数。
【代码】
sub计算woRd表格个数()
application.screenupdating=False关闭屏幕刷新
dqm=thisworkbook.path带路径的woRd文件名称setwdwoRd=createobject("word.application")定义一个word对象变量setdkdoc=wdwoRd.documents.open(dqm)创建文档对象bgs=dkdoc.tables.count当前文档中的表格总数dkdoc.close关闭文档setdkdoc=nothing释放存储空间setwdwoRd=nothing释放存储空间msgboxchr(10)关闭屏幕刷新
endsub
提示:
嵌入式表格如woRd文档中插入的excel表格、表格中插入的表格。
计算表格个数的代码格式——文档对象.tables.count
上述方法不能计算woRd文档中的嵌入式表格个数。
2.计算woRd文档中各个表格的行/列数
【要求】
在excel中,遍历woRd文档“成绩表.doc”中的表格,计算表格的行数和列数。
【代码】
sub计算指定woRd文档中表格行列数()
application.screenupdating=False关闭屏幕刷新
dqm=thisworkbook.path带路径的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)计算信息提示endwithnextgdkdoc.close关闭文档setdkdoc=nothing释放存储空间setwdwoRd=nothing释放存储空间application.screenupdating=False关闭屏幕刷新endsub
提示:
计算行数代码格式——文档对象.表格对象.Rows.count
计算列数代码格式——文档对象.表格对象.columns.count上述方法不能计算嵌入式表格的行/列数。
3.选定woRd表格的指定区域⑴选定整个表格【代码】
sub选择woRd文档的指定表格整体()
application.screenupdating=False关闭屏幕刷新
dqm=thisworkbook.path带路径的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带路径的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带路径的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带路径的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带路径的woRd文件名称setwdwoRd=createobject("word.application")定义一个word对象变量
setdkdoc=wdwoRd.documents.open(dqm)创建文档对象
篇二:
wordVba全选文档内所有表格的代码
sub全选所有表格()
全选所有表格macro
dimtemptableastable
application.screenupdating=False
判断文档是否被保护
ifactivedocument.protectiontype=wdallowonlyFormFieldsthenmsgbox"文档已保护,此时不能选中多个表格!
"
exitsub
endif
删除所有可编辑的区域
activedocument.deletealleditableRangeswdeditoreveryone添加可编辑区域
Foreachtemptableinactivedocument.tables
temptable.Range.editors.addwdeditoreveryone
next
选中所有可编辑区域
activedocument.selectalleditableRangeswdeditoreveryone删除所有可编辑的区域
activedocument.deletealleditableRangeswdeditoreveryoneapplication.screenupdating=true
endsub
篇三:
巧用Vba自动处理word表格
巧用Vba自动处理word表格发布:
20xx-8-0817:
59|作者:
/retype/zoom/aaabe40416fc700abb68fc9dpn=1图1@@
setodoc=activedocument
setotable=odoc.tables.add(Range:
=odoc.Range(start:
=0,end:
=0),numRows:
=3,numcolumns:
=4)
icount=1
Foreachocellinotable.Range.cells
ocell.Range.insertafter"第"图2@@
(2)如果需要在表格的第二列插入星期值,可在上例的Foreach...next结构中插入以下几行:
ificountmod4=2andicount>4then
ocell.Range.insertaftercweekname(weekday(date+(icount-1)/4))
endif
其中,weekday(date)返回一数值(1~7),分别表示"星期日"~"星期六",cweekname数组需要事先定义为:
dimcweekname(7)
cweekname
(1)="星期日"
cweekname
(2)="星期一"
......
cweekname(7)="星期六"
4.根据单元格的内容设置不同的格式
以上例中表格为例,如果需要将所有"星期六"和"星期日"所在行格式改为蓝色背景,只要在上例程序之后追加以下几行即可(表格格式改为wdtableFormatcolorful2,行数改为12行)。
程序中再次使用Foreach...next结构遍历表格中的每一行(Rows),如果检测到某一行满足条件("星期六"或"星期日"),则选择一行(selection.selectRow),将其属性改为需要的格式(本例中为蓝色背景)。
icount=1
ForeachRowsinotable.Range.Rows