大众计算机学习网欢迎诸位!收藏本站注 册登 陆
常用教程:基础知识网络知识操作系统WPS网页制作数据库算法网页成功之路网络安全最新技术古典mid流行midmid背景下载中心
您现在的位置:首页 > 教程 > 文章页

vba操作Word表格的代码总结

Admin | 2016-6-1 10:47:48 | ReadNums | 2028 | 标签 Word教程 | 打印本页
     

  一、生成表格

  Private Sub CreateTable(mRows As Integer, mColumns)

  Dim mRange As Range

  Set mRange = ActiveDocument.Range

  mRange.SetRange Start:=ActiveDocument.Range.End, End:=ActiveDocument.Range.End

  Set SelfGenTable = ActiveDocument.Tables.Add(Range:=mRange, NumRows:=mRows, NumColumns:=mColumns)

  End Sub

  上面过程的作用是在活动文档的末尾插入一个mRows行,mColumns列的表格。


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

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

  TableObject.Cell(Row:=curRow, Column:=curColumn).Range.InsertAfter "文本" 上面代码的做用时在curRow行,curColumn列处插入字符“文本”。

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

  三、调整单元格对齐方式

  水平对齐设置

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

  选定特定单元格

  TableObject.Cell(Row:=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

  With Selection

  .Borders(wdBorderBottom).LineStyle = wdLineStyleSingle

  .Borders(wdBorderLeft).LineStyle = wdLineStyleSingle

  .Borders(wdBorderRight).LineStyle = wdLineStyleSingle

  .Borders(wdBorderTop).LineStyle = wdLineStyleSingle

  .Borders(wdBorderHorizontal).LineStyle = wdLineStyleSingle

  .Borders(wdBorderVertical).LineStyle = wdLineStyleSingle

  End With

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


  五、调整表格尺寸

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

  Dim WidthP(0 To 2) As Integer

  Dim j As Integer

  dim i as Integer

  WidthP(0) = 30

  WidthP(1) = 10

  WidthP(2) = 10

  j = 0

  For i = 0 To SelfGenTable.Columns.Count - 1

  If j > 2 Then

   j = 0

  End If

  SelfGenTable.Columns(i + 1).PreferredWidthType = wdPreferredWidthPercent

  SelfGenTable.Columns(i + 1).PreferredWidth = WidthP(j)

  j = j + 1

  Next

问题未解决:在线咨询我要在线咨询问题

网友评论

(访客)
内容实用原创,讲得很好。
20xx年x月x日
(站长)
有问题请在线咨询。
20xx年x月x日