Word VBA教程:ConvertToText方法

将表格转换为文本并返回一个 Range对象,该对象代表带分隔符的文本。

expression.ConvertToText(Separator, NestedTables)

expression   必需。该表达式返回一个 Row、Rows 或 Table对象。

Separator   Variant 类型,可选。用以分隔被转换列的分隔符(被转换行由段落标记分隔)。可以是下列WdTableFieldSeparator 常量之一。

WdTableFieldSeparator 可以是下列 WdTableFieldSeparator 常量之一:
wdSeparateByCommas
wdSeparateByDefaultListSeparator
wdSeparateByParagraphs
wdSeparateByTabs 默认值。
 

NestedTables   Variant 类型,可选。如果为 True,则将嵌套的表格转换为文本。如果 Separator 不是 wdSeparateByParagraphs,则此参数将被忽略。其默认值为 True。

说明

将 ConvertToText方法应用于一个 Table对象时,该对象将被删除。如果要保留对已转换的表格内容的引用,就必须为 ConvertToText方法返回的 Range对象赋予新的对象变量。在下面示例中,将活动文档第一个表格转换为文本,并将其格式设为项目符号列表。


Dim tableTemp As Table
Dim rngTemp As Range
Set tableTemp = ActiveDocument.Tables(1)
Set rngTemp = _
    tableTemp.ConvertToText(Separator:=wdSeparateByParagraphs)
rngTemp.ListFormat.ApplyListTemplate _
ListTemplate:=ListGalleries(wdBulletGallery).ListTemplates(1)

VBA示例

本示例创建一张表格,然后将其转换为文本,以制表符作为分隔字符。


Dim docNew As Document
Dim tableNew As Table
Dim intTemp As Integer
Dim cellLoop As Cell
Dim rngTemp As Range
Set docNew = Documents.Add
Set tableNew = docNew.Tables.Add(Range:=Selection.Range, _
    NumRows:=3, NumColumns:=3)
intTemp = 1
For Each cellLoop In tableNew.Range.Cells
    cellLoop.Range.InsertAfter "Cell " & intTemp
    intTemp = intTemp + 1
Next cellLoop
MsgBox "Click OK to convert table to text."
Set rngTemp = _
    tableNew.ConvertToText(Separator:=wdSeparateByTabs)

本示例将包含选定内容的表格转换为文本,各列之间用空格分隔。


If Selection.Information(wdWithInTable) = True Then
    Selection.Tables(1).ConvertToText Separator:=" "
Else
    MsgBox "The insertion point is not in a table."
End If

Word VBA教程

Word VBA参考教程:目录1 Word VBA参考教程:目录2
Word VBA参考教程:目录3 Word VBA参考教程:目录4
Word VBA参考教程:目录5 Word VBA参考教程:目录6
Word VBA参考教程:目录7 Word VBA参考教程:目录8
Word VBA参考教程:目录9 Word VBA参考教程:目录10
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号