Поделиться через


Метод 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

См. также

Объект Table

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.