Как создать таблицу в word vba

Главная » Разное » Как создать таблицу в word vba

Работа с таблицами | Microsoft Docs

  • Чтение занимает 2 мин

В этой статье

В этом разделе представлены примеры Visual Basic, связанные с задачами, указанными в следующих разделах.This topic includes Visual Basic examples related to the tasks identified in the following sections.

Создание таблицы, вставка текста и применение форматированияCreating a table, inserting text, and applying formatting

В следующем примере в начало активного документа вставляется таблица из трех строк и трех столбцов.The following example inserts a four-column, three-row table at the beginning of the active document. Параметр

For Each… Следующая
структура используется для пошагового перехода по каждой ячейке в таблице.The For Each…Next structure is used to step through each cell in the table. В разделе For Each… Next Structure метод InsertAfter объекта Range используется для добавления текста в ячейки таблицы (ячейка 1, ячейка 2 и т. д.).Within the For Each…Next structure, the InsertAfter method of the Range object is used to add text to the table cells (Cell 1, Cell 2, and so on).

Sub CreateNewTable() Dim docActive As Document Dim tblNew As Table Dim celTable As Cell Dim intCount As Integer Set docActive = ActiveDocument Set tblNew = docActive.Tables.Add( _ Range:=docActive.Range(Start:=0, End:=0), NumRows:=3, _ NumColumns:=4) intCount = 1 For Each celTable In tblNew.Range.Cells celTable.Range.InsertAfter "Cell " & intCount intCount = intCount + 1 Next celTable tblNew.AutoFormat Format:=wdTableFormatColorful2, _ ApplyBorders:=True, ApplyFont:=True, ApplyColor:=True End Sub 

Вставка текста в ячейку таблицыInserting text into a table cell

В примере ниже показано, как вставить текст в первую ячейку первой таблицы в активном документе.The following example inserts text into the first cell of the first table in the active document. Метод


Cell
возвращает один объект Cell .The Cell method returns a single Cell object. Свойство Range возвращает объект Range .The Range property returns a Range object. Метод Delete используется для удаления существующего текста, а метод InsertAfter вставляет текст «Cell 1, 1».The Delete method is used to delete the existing text and the InsertAfter method inserts the «Cell 1,1» text.

Sub InsertTextInCell() 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 End Sub 

Возвращение текста из ячейки таблицы без возвращения маркера конца ячейкиReturning text from a table cell without returning the end of cell marker

В следующем примере показано возвращение и отображение содержимого каждой ячейки в первой строке первой таблицы документа.The following example returns and displays the contents of each cell in the first row of the first document table.

Sub ReturnTableText() Dim tblOne As Table Dim celTable As Cell Dim rngTable As Range Set tblOne = ActiveDocument.Tables(1) For Each celTable In tblOne.Rows(1).Cells Set rngTable = ActiveDocument.Range(Start:=celTable.Range.Start, _ End:=celTable.Range.End - 1) MsgBox rngTable.Text Next celTable End Sub 
Sub ReturnCellText() Dim tblOne As Table Dim celTable As Cell Dim rngTable As Range Set tblOne = ActiveDocument.Tables(1) For Each celTable In tblOne.Rows(1).Cells Set rngTable = celTable.Range rngTable.MoveEnd Unit:=wdCharacter, Count:=-1 MsgBox rngTable.Text Next celTable End Sub 

Преобразование существующего текста в таблицуConverting existing text to a table

В примере ниже показано, как вставить текст с разделителями табуляцией в начало активного документа, а затем преобразовать текст в таблицу.The following example inserts tab-delimited text at the beginning of the active document and then converts the text to a table.

Sub ConvertExistingText() With Documents.Add.Content .InsertBefore "one" & vbTab & "two" & vbTab & "three" & vbCr .ConvertToTable Separator:=Chr(9), NumRows:=1, NumColumns:=3 End With End Sub 

Возвращение содержимого каждой ячейки таблицыReturning the contents of each table cell

В следующем примере определяется массив, равный количеству ячеек в первой таблице документа (при условии, что параметр Base 1).The following example defines an array equal to the number of cells in the first document table (assuming Option Base 1). Параметр For Each… Следующая структура используется для возвращения содержимого каждой ячейки таблицы и назначения текста соответствующему элементу массива.The For Each…Next structure is used to return the contents of each table cell and assign the text to the corresponding array element.

Sub ReturnCellContentsToArray() Dim intCells As Integer Dim celTable As Cell Dim strCells() As String Dim intCount As Integer Dim rngText As Range If ActiveDocument.Tables.Count >= 1 Then With ActiveDocument.Tables(1).Range intCells = .Cells.Count ReDim strCells(intCells) intCount = 1 For Each celTable In .Cells Set rngText = celTable.Range rngText.MoveEnd Unit:=wdCharacter, Count:=-1 strCells(intCount) = rngText intCount = intCount + 1 Next celTable End With End If End Sub 

Копирование всех таблиц в активном документе в новый документCopying all tables in the active document into a new document

В этом примере показано, как скопировать таблицы из текущего документа в новый документ.This example copies the tables from the current document into a new document.

Sub CopyTablesToNewDoc() Dim docOld As Document Dim rngDoc As Range Dim tblDoc As Table If ActiveDocument.Tables.Count >= 1 Then Set docOld = ActiveDocument Set rngDoc = Documents.Add.Range(Start:=0, End:=0) For Each tblDoc In docOld.Tables tblDoc.Range.Copy With rngDoc .Paste .Collapse Direction:=wdCollapseEnd .InsertParagraphAfter .Collapse Direction:=wdCollapseEnd End With Next End If End Sub 

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

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

как создать таблицу в документе Word 2003 с использованием VBA

Переполнение стека

  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя

.

Как создать отдельные таблицы в слове VBA?

Переполнение стека

  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами

.

excel — создание таблицы VBA MS Word

Переполнение стека

  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя

.

Как изменить таблицу в Word с помощью VBA

Переполнение стека

  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя

.


Смотрите также

Запись опубликована в рубрике Разное. Добавьте в закладки постоянную ссылку.