wordvba表格线Word格式.docx

上传人:b****3 文档编号:14724928 上传时间:2022-10-24 格式:DOCX 页数:6 大小:17.44KB
下载 相关 举报
wordvba表格线Word格式.docx_第1页
第1页 / 共6页
wordvba表格线Word格式.docx_第2页
第2页 / 共6页
wordvba表格线Word格式.docx_第3页
第3页 / 共6页
wordvba表格线Word格式.docx_第4页
第4页 / 共6页
wordvba表格线Word格式.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

wordvba表格线Word格式.docx

《wordvba表格线Word格式.docx》由会员分享,可在线阅读,更多相关《wordvba表格线Word格式.docx(6页珍藏版)》请在冰豆网上搜索。

wordvba表格线Word格式.docx

  二、在读写表格中的单元格

  写入单元格使用如下代码:

  tableobject.cell(Row:

=curRow,column:

=curcolumn).Range.insertafter"

文本"

上面代码的做用时在curRow行,curcolumn列处插入字符“文本”。

  其中tableobject为表格对象,如果使用了生成表格中的例子,那么可以用selfgentable来替代tableobject。

  三、调整单元格对齐方式

  水平对齐设置

  selection.paragraphFormat.alignment=水平对齐常数(具体的常数可以查看帮助文件的说明)如何选择单元格?

  选定特定单元格

=1,column:

=1).select’选定单元格1,1

  选定行

  tableobject.Rows(i).select’选定第i行

  选定列

  tableobject.columns(i).select’选定第i列

  选定整个表格

  tableobject.select

  首先执行表格元素选择程序,然后再使用selection.paragraphFormat.alignment设置对齐方式。

  垂直对齐方式

  selection.cells.Verticalalignment=垂直对齐常数

  也是首先选择表格元素,可以使单个单元格,单个行、单个列或者整个表格。

似乎也可以同时选择多个单元格、多个行、多个列,有兴趣的朋友可以自行寻找答案。

  四、设置表格边线类型

  下面的代码对整个表格的所有边线设置成细实线:

  selfgentable.select

  withselection

  .borders(wdborderbottom).linestyle=wdlinestylesingle

  .borders(wdborderleft).linestyle=wdlinestylesingle

  .borders(wdborderRight).linestyle=wdlinestylesingle

  .borders(wdbordertop).linestyle=wdlinestylesingle

  .borders(wdborderhorizontal).linestyle=wdlinestylesingle

  .borders(wdborderVertical).linestyle=wdlinestylesingle

  endwith

  同样是对selection进行设置,所以可以依照上面的方法对特定的单元格、行或者列的边线样式进行分别设置,这里就不再列举了。

  五、调整表格尺寸

  下面的代码对一个六列的表格设置宽度,宽度采用百分比宽度,从左至右的宽度百分比依次为:

30,10,10,30,10,10:

  dimwidthp(0to2)asinteger

  dimjasinteger

  dimiasinteger

  widthp(0)=30

  widthp

(1)=10

  widthp

(2)=10

  j=0

  Fori=0toselfgentable.columns.count-1

  ifj>

2then

  endif

  selfgentable.columns(i+1).preferredwidthtype=wdpreferredwidthpercent

  selfgentable.columns(i+1).preferredwidth=widthp(j)

  j=j+1

  next

  上面的代码通过columns的preferredwidthtype属性设置表格列宽的形式,这里选择的是百分比列宽,可以根据自己的实际情况选择其他列宽形式,然后再设置相应的数值。

表格的行高请读者以此类推(实际上我还没设置过行高,都用自动生成的就够了)===============================================

  编写操作表格的程序时需要注意,word表格的行列起始值为1,而不是0。

  ===============================================

  下面是一个拆分字符串的代码,当插入表格的文本过长时,可以设定一个长度,超过这个长度就进行回车,这样保证在设定的单元格宽度内能够写下长文本。

单元格的高度会自动调整以使文本能完整的显示,这也就是我为什么没有通过代码设置单元格高度的原因。

privateFunctionFoldtext(mlenasinteger,mstrasstring)asstring

  折叠文字函数,mlen为折叠前的文字长度,mstr为文字的内容

  dimtmpstr(0to1)asstring临时字符串

  iflen(mstr)>

mlenthen

  dowhilelen(mstr)>

mlen

  tmpstr(0)=left(mstr,mlen)

  mstr=Right(mstr,len(mstr)-mlen)

  tmpstr

(1)=tmpstr

(1)+tmpstr(0)+vbcrlf

  loop

  tmpstr

(1)=tmpstr

(1)+mstr

  else

  tmpstr

(1)=mstr

  Foldtext=tmpstr

(1)endFunction

  ================================================

  篇二:

用Vba操作word表格word的表格功能是非常重要的一个功能

  用Vba操作word表格word的表格功能是非常重要的一个功能,

  也是用户经常使用的一项功能,在word20xx中,增加了不少

  新的功能。

如果利用Vba自动处理表格将使用户的效率有极大

  的提高。

  1.向表格单元格插入文字

  下面的代码向活动文档的第一个表格的第一个单元格插入

  文字。

cell方法返回单个的cell对象。

Range属性返回一个

  Range对象。

delete方法用来删除现有的文字,而insertafter方

  法用来插入"

cell1,1"

文字。

  ifactivedocument.tables.count>

=1then

  withactivedocument.tables

(1).cell(Row:

=1).Range

  .delete

  .insertaftertext:

="

  2在表格中插入文字

  下面的代码在文档的开头插入一张3行4列的表格。

For

  each...next结构用来循环遍历表格中的每个单元格。

在For

  each...next结构中,insertafter方法用来向表格单元格(cell1、

  cell2等等)添加文字。

  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"

cell"

非常重要,目的

  是去掉换行符

  否则内容后面会有个小圆点

  msgboxmyRange.text

  nextacell

  4将文本转换为表格

  下面的代码在活动文档的开头插入以制表符分隔的文本,

  然后将这些文本转换为一张表格。

  setoRange1=activedocument.Range(start:

=0)

  oRange1.insertbefore"

one"

图1@@

=0),numRows:

第"

图2@@

  

(2)如果需要在表格的第二列插入星期值,可在上例的Foreach...next结构中插入以下几行:

  ificountmod4=2andicount>

4then

  ocell.Range.insertaftercweekname(weekday(date+(icount-1)/4))

  其中,weekday(date)返回一数值(1~7),分别表示"

星期日"

~"

星期六"

cweekname数组需要事先定义为:

  dimcweekname(7)

  cweekname

(1)="

  cweekname

(2)="

星期一"

  ......

  cweekname(7)="

  4.根据单元格的内容设置不同的格式

  以上例中表格为例,如果需要将所有"

和"

所在行格式改为蓝色背景,只要在上例程序之后追加以下几行即可(表格格式改为wdtableFormatcolorful2,行数改为12行)。

程序中再次使用Foreach...next结构遍历表格中的每一行(Rows),如果检测到某一行满足条件("

或"

),则选择一行(selection.selectRow),将其属性改为需要的格式(本例中为蓝色背景)。

  ForeachRowsinotable.Range.Rows

  if(weekday(date+(icount-1))=7orweekday(date+(icount-1))=1)andicount>

1

  then

  selection.selectRow

  withselection.cells

  with.shading

  .texture=wdtexturenone

  .Foregroundpatterncolorindex=wdauto

  .backgroundpatterncolorindex=wdblue

  icount=icount+1

  selection.movedownunit:

=wdline,count:

=

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1