电脑教程中文网
首页  动态网站建设学习 程序  笑话  论坛 娱乐  交友 ADSL  峄城  成功者
中文名:电脑教程中文网,收集了大量的电脑教程! 编程技术文档 游戏开发 笑话站暂时关闭 设为首页
网页设计 HTML | Dreamweaver | CSS | Firework | FrontPage WEB开发 ASP | JSP | PHP | .NET | CGI | JS | VBS | XML | IIS6 | Apache | PWS
程序设计 Java | C++ |VC++ | C# | Delphi | VB | C语言 | 汇编 | Pascal | Perl 数据库 MSSQL | MySQL | Access | VF | Oracle | DB2 | SYBASE |
办公软件 Word | Excel | WPS | PowerPoint 动画平面 Photoshop | ACDSee | 3Dmax | Flash | Coreldraw |
操作系统 Windows 2000 | Windows XP | Windows 2003 | SCO Unix | Windows Vista | unix、Linux | 综合| 服务器 | 系统安全| 黑客技术
其  他 UltraDev | DOS | UML | PWS | Powerbuilder | 开发心得 | 设计理念 | 病毒库 | 其他 | LightTPD (分类排序给您带来不便请谅解)
推  荐: Java文档500篇》《ASP.NET与相关数据库技术高级指南》《TC图形函数详解》《C函数速查手册》《C语言编程宝典之一》《MFC深入浅出》《黑客零起点》《VC++ 编程指南》《JScript 用户指南》 《CSS教程宝典》《Microsoft Jet SQL 参考》《delphi技巧集合》《MySQL 4.1.0 中文参考手册》《MySQL中文手册
【导航】 您现在的位置 : 首页 - Word教程 - 《Word实用文档系列》- 利用VBA 处理表格

利用VBA 处理表格

日期:2005-8-9 22:48:04    作者:佚名   人气:   来源:网络





    表格功能是Word 一个非常重要的功能,也是用户经常使用的一 项功能,在Word 2000 中,增加了不少新的功能。如果利用VBA 自 动处理表格将使用户的效率有极大的提高。

12.6.1 向表格单元格插入文字
    下面的代码向活动文档的第一个表格的第一个单元格插入文字。 Cell 方法返回单个的 Cell 对象。Range 属性返回一个 Range 对 象。Delete 方法用来删除现有的文字,而 InsertAfter 方法用来 插入"Cell 1,1"文字。

If ActiveDocument.Tables.Count >= 1 Then
With ActiveDocument.Tables ( 1 ) .Cell ( Row:=1,
Column:=1).Range
.Delete
.InsertAfter Text:="Cell 1,1"
End With
End If

12.6.2 在表格中插入文字
    下面的代码在文档的开头插入一张3 行 4 列的表格。For Each...Next 结构用来循环遍历表格中的每个单元格。在 For Each...Next 结构中,InsertAfter 方法用来向表格单元格(Cell 1、 Cell 2 等等)添加文字。

Set oDoc = ActiveDocument
Set oTable = oDoc.Tables.Add ( Range:=oDoc.Range
(Start:=0, End:=0), NumRows:=3, _
NumColumns:=4)
iCount = 1
For Each oCell In oTable.Range.Cells
oCell.Range.InsertAfter "Cell " & iCount
iCount = iCount + 1
Next oCell
oTable.AutoFormat Format:=wdTableFormatColorful2, _
ApplyBorders:=True, ApplyFont:=True,
ApplyColor:=True

12.6.3 显示每个单元格的内容
    下面的代码返回并显示文档第一张表格第一行中每个单元格中 的内容。

Set oTable = ActiveDocument.Tables(1)
For Each aCell In oTable.Rows(1).Cells
Set myRange = ActiveDocument.Range
(Start:=aCell.Range.Start, _
End:=aCell.Range.End - 1)
MsgBox myRange.Text
Next aCell
Set oTable = ActiveDocument.Tables(1)
For Each aCell In oTable.Rows(1).Cells
Set myRange = aCell.Range
myRange.MoveEnd Unit:=wdCharacter, Count:=-1
MsgBox myRange.Text
Next aCell

12.6.4 将文本转换为表格
    下面的代码在活动文档的开头插入以制表符分隔的文本,然后将 这些文本转换为一张表格。

Set oRange1 = ActiveDocument.Range(Start:=0, End:=0)
oRange1.InsertBefore "one" & vbTab & "two" & vbTab &
"three" & vbCr
Set oTable1 = oRange1.ConvertToTable(Separator:=Chr
(9), NumRows:=1, NumColumns:=3)

12.6.5 返回每个表格单元格的内容
    下面的代码定义一个数组,使该数组的元素个数等于文档第一个 表格中的单元格数(假定 Option Base 1)。For Each...Next 结 构用来返回每个表格单元格的内容,并将文字指定给相应的数组元 素。

If ActiveDocument.Tables.Count >= 1 Then
Set oTable = ActiveDocument.Tables(1)
iNumCells = oTable.Range.Cells.Count
ReDim aCells(iNumCells)
i = 1
For Each oCell In oTable.Range.Cells
Set myRange = oCell.Range
myRange.MoveEnd Unit:=wdCharacter, Count:=-1
aCells(i) = myRange.Text
i = i + 1
Next oCell
End If

12.6.6 将活动文档中的所有表格复制到一篇新文档
    下面的代码将当前文档中的表格复制到新文档中。
    
If ActiveDocument.Tables.Count >= 1 Then
Set oDoc1 = ActiveDocument
Set MyRange = Documents.Add.Range ( Start:=0,
End:=0)
For Each oTable In oDoc1.Tables
oTable.Range.Copy
With MyRange
.Paste
.Collapse Direction:=wdCollapseEnd
.InsertParagraphAfter
.Collapse Direction:=wdCollapseEnd
End With
Next
End If

12.6.7 引用活动元素
    要引用活动段落、表格、域或其他文档元素,可使用 Selection属性返回一个 Selection 对象。通过 Selection 对象,可以访问 所选内容中的所有段落或第一个段落。

下面的代码为所选内容的第一张表格第一行应用底纹。
Selection.Tables ( 1 ) .Rows ( 1 ) .Shading.Texture =
wdTexture10Percent

    如果所选内容中没有表格,则会产生错误。使用 Count 属性可以判定所选内容中是否有表格。下面的代码为所选内容的第一张表格第一行应用底纹。

If Selection.Tables.Count >= 1 Then
Selection.Tables(1).Rows(1).Shading.Texture =
wdTexture10Percent
Else
MsgBox "Selection doesn't include a table"
End If

    下面的代码为所选内容中每张表格的第一行应用底纹。For Each...Next 循环用来循环遍历所选内容中的每个表格。

If Selection.Tables.Count >= 1 Then
For Each aTable In Selection.Tables

aTable.Rows ( 1 ) .Shading.Texture =
wdTexture10Percent
Next aTable
End If  




网站首页 - 友情链接 - 公司简介 - 联系方式 - 广告投放 - 客户服务 - 错误报告 - 免责声明 - About us
CLDE.NET电脑教程中文网版权所有 未经许可禁止镜象和复制本站资料 MSN:CLDE_NET@hotmail.com
技术支持:CLDE.NET信息中心 鲁ICP备05039940号 友情链接QQ:784079(隐)