Метод Table.ConvertToText (Word)
Преобразует таблицу в текст и возвращает объект Range , представляющий текст с разделителями.
Синтаксис
выражение. ConvertToText
( _Separator_
, _NestedTables_
)
выражение (обязательно). Переменная, представляющая объект Table.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Separator | Необязательный | Variant | Символ, разделяющий преобразованные столбцы (знаки абзаца разделяют преобразованные строки). Может быть любой константой WdTableFieldSeparator . |
ВложенныеTables | Необязательный | Variant | Значение true , если вложенные таблицы преобразуются в текст. Этот аргумент игнорируется, если разделитель не является wdSeparateByParagraphs. Значение по умолчанию — True. |
Замечания
При применении метода ConvertToText к объекту Table объект удаляется. Чтобы сохранить ссылку на преобразованное содержимое таблицы, необходимо назначить объект Range , возвращенный методом ConvertToText , новой переменной объекта. В следующем примере первая таблица в активном документе преобразуется в текст, а затем форматируется как маркированный список.
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)
Пример
В этом примере создается таблица, а затем она преобразуется в текст с помощью табуляции в качестве символов-разделителей.
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
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.