Разное

Vba word работа с таблицами: Работа с таблицами | Microsoft Docs

Содержание

Работа с таблицами | 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.



Объект Table (Word) | Microsoft Docs



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

В этой статье

Представляет отдельную таблицу.Represents a single table. Объект Table является элементом коллекции Tables .The Table object is a member of the Tables collection. Коллекция Tables включает все таблицы в указанном фрагменте, диапазоне или документе.The Tables collection includes all the tables in the specified selection, range, or document.

ПримечанияRemarks

Используйте таблицы (index), где index — это номер индекса, чтобы вернуть один объект Table .Use Tables (Index), where Index is the index number, to return a single Table object. Номер индекса представляет положение таблицы в выделении, диапазоне или документе.The index number represents the position of the table in the selection, range, or document. В приведенном ниже примере первая таблица в активном документе преобразуется в текст.The following example converts the first table in the active document to text.

ActiveDocument.Tables(1).ConvertToText Separator:=wdSeparateByTabs

Используйте метод Add для добавления таблицы в указанный диапазон.Use the Add method to add a table at the specified range. В приведенном ниже примере показано, как добавить таблицу 3X4 в начало активного документа.The following example adds a 3×4 table at the beginning of the active document.

Set myRange = ActiveDocument.Range(Start:=0, End:=0) 
ActiveDocument.Tables.Add Range:=myRange, NumRows:=3, NumColumns:=4

МетодыMethods

СвойстваProperties

См. такжеSee also

Справочник по объектной модели WordWord Object Model Reference

Поддержка и обратная связь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.



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



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

В этой статье

В PowerPoint можно создавать собственные таблицы без необходимости их импорта из Word.In PowerPoint, you can create native tables without having to import them from Word. Таблицы являются членами коллекции Shapes .Tables are members of the Shapes collection. Каждая ячейка, столбец и строка в таблице представляют собой отдельный программируемый объект.Each cell, column, and row in a table is a separate programmable object.

Создание таблицыCreating a Table

Чтобы создать таблицу на слайде, используйте метод AddTable .To create a table on a slide, use the AddTable method. Этот метод добавляет в коллекцию Shapes таблицу с количеством строк и столбцов, назначенных аргументами нумровс и нумколумнс .This method adds a table to the Shapes collection with the number of rows and columns designated by the NumRows and NumColumns arguments. В этом примере показано, как добавить таблицу с тремя строками и четырьмя столбцами на слайд 2.This example adds a table with three rows and four columns to slide two.

ActivePresentation.Slides(2).Shapes _
    .AddTable NumRows:=3, NumColumns:=4, Left:=10, _
    Top:=10, Width:=288, Height:=288

Тестирование, чтобы определить, является ли фигура таблицейTesting to See Whether a Shape Is a Table

Прежде чем можно будет работать с содержимым или объектами в таблице, необходимо сначала определить, является ли фигура, с которой вы работаете, таблицей.Before you can work with the contents or objects in a table, you must first know if the shape you are working with is a table. Чтобы определить, является ли фигура таблицей, используйте свойство хастабле .To see whether a shape is a table, use the HasTable property. Например, предположим, что на слайде один слайд содержит множество фигур, а вы знаете, что один из них является таблицей.For example, assume that slide one has numerous shapes and you know one of them is a table. Вы хотите изменить размер таблицы таким образом, чтобы она имела правильный размер, чтобы принимать данные, которые планируется импортировать из другого источника.You want to resize this table so that it is the proper size to accept the data you are going to import from another source. Этот код просматривает коллекцию Shapes на слайде 2, чтобы найти таблицу, а затем изменяет ширину столбцов.This code walks through the Shapes collection on slide two to find the table and then it resizes the width of the columns.

With ActivePresentation.Slides(2)
    For sh = 1 To .Shapes.Count
        If .Shapes(sh).HasTable Then
            For Each col In .Shapes(sh).Table.Columns
                col.Width = 110
            Next col
        End If
    Next
End With

Работа с ячейками, столбцами и строкамиWorking with Cells, Columns, and Rows

Чтобы получить содержимое и свойства отдельного столбца или строки, используйте определенный элемент либо из коллекции Columns , либо из коллекции Rows .To return the contents and properties of an individual column or row, use a specific member of either the Columns or the Rows collection. Метод Cell возвращает один объект Cell в таблице.The Cell method returns a single Cell object within a Table. В этом примере показано изменение различных атрибутов таблицы, представленной фигурой 5 на слайде 2.This example changes various attributes of the table represented by shape five on slide two. Он изменяет цвет второй строки, ширину столбца 1 и текст, содержащийся в строке две, одна ячейка столбца.It changes the color of row two, the width of column one, and the text contained in the row two, column one cell.

With ActivePresentation.Slides(2).Shapes(4).Table
    For Each cl In .Rows(2).Cells
        cl.Shape.Fill.ForeColor.RGB = RGB(50, 125, 0)
    Next cl
    .Columns(1).Width = 110
    .Cell(2, 1).Shape.TextFrame.TextRange.Text = "Mallard"
End With

Поддержка и обратная связь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.



Объект Tables (Word) | Microsoft Docs



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

В этой статье

Коллекция объектов Table , представляющих таблицы в выделении, диапазоне или документе.A collection of Table objects that represent the tables in a selection, range, or document.

ПримечанияRemarks

Чтобы получить коллекцию Tables , используйте свойство Tables .Use the Tables property to return the Tables collection. В приведенном ниже примере применяется граница для каждой таблицы в активном документе.The following example applies a border around each of the tables in the active document.

For Each aTable In ActiveDocument.Tables 
 aTable.Borders.OutsideLineStyle = wdLineStyleSingle 
 aTable.Borders.OutsideLineWidth = wdLineWidth025pt 
 aTable.Borders.InsideLineStyle = wdLineStyleNone 
Next aTable

Используйте метод Add для добавления таблицы в указанный диапазон.Use the Add method to add a table at the specified range. В приведенном ниже примере показано, как добавить таблицу 3X4 в начало активного документа.The following example adds a 3×4 table at the beginning of the active document.

Set myRange = ActiveDocument.Range(Start:=0, End:=0) 
ActiveDocument.Tables.Add Range:=myRange, NumRows:=3, NumColumns:=4

Используйте таблицы (index), где index — это номер индекса, чтобы вернуть один объект Table .Use Tables (Index), where Index is the index number, to return a single Table object. Номер индекса представляет положение таблицы в выделении, диапазоне или документе.The index number represents the position of the table in the selection, range, or document. В приведенном ниже примере первая таблица в активном документе преобразуется в текст.The following example converts the first table in the active document to text.

ActiveDocument.Tables(1).ConvertToText Separator:=wdSeparateByTabs

Свойство Count для этой коллекции в документе возвращает количество элементов в основной статье.The Count property for this collection in a document returns the number of items in the main story only. Чтобы подсчитать количество элементов в других статьях, используйте коллекцию с объектом Range .To count items in other stories use the collection with the Range object.

См. такжеSee also

Справочник по объектной модели WordWord Object Model Reference

Поддержка и обратная связь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.



Метод Tables. Add (Word) | Microsoft Docs



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

В этой статье

Возвращает объект Table , представляющий новую пустую таблицу, добавленную в документ.Returns a Table object that represents a new, blank table added to a document.

СинтаксисSyntax

Expression. Add (Range, нумровс, нумколумнс, дефаулттаблебехавиор, аутофитбехавиор)expression.Add (Range, NumRows, NumColumns, DefaultTableBehavior, AutoFitBehavior)

выражение (обязательно).expression Required. Переменная, представляющая коллекциюTables.A variable that represents a ‘Tables’ collection.

ПараметрыParameters

ИмяNameОбязательный или необязательныйRequired/OptionalТип данныхData typeОписаниеDescription
RangeRangeОбязательныйRequiredОбъект RangeRange objectДиапазон, в котором будет отображаться таблица.The range where you want the table to appear. Таблица заменяет диапазон, если диапазон не свернут.The table replaces the range, if the range isn’t collapsed.
NumRowsNumRowsОбязательныйRequiredLongLongКоличество строк, которое необходимо включить в таблицу.The number of rows you want to include in the table.
нумколумнсNumColumnsОбязательныйRequiredLongLongЧисло столбцов, которые необходимо включить в таблицу.The number of columns you want to include in the table.
дефаулттаблебехавиорDefaultTableBehaviorНеобязательныйOptionalVariantVariantЗадает значение, указывающее, будет ли Microsoft Word автоматически изменять размер ячеек в таблицах в соответствии с содержимым ячеек (Автоподбор ширины).Sets a value that specifies whether Microsoft Word automatically resizes cells in tables to fit the cells’ contents (AutoFit). Может иметь одно из следующих констант: wdWord8TableBehavior (Автоподбор размера отключено) или wdWord9TableBehavior (Автоподбор размера).Can be either of the following constants: wdWord8TableBehavior (AutoFit disabled) or wdWord9TableBehavior (AutoFit enabled). Константа по умолчанию — wdWord8TableBehavior.The default constant is wdWord8TableBehavior.
AutoFitBehaviorAutoFitBehaviorНеобязательныйOptionalVariantVariantЗадает правила автоподбора для размера таблиц в Word.Sets the AutoFit rules for how Word sizes tables. Может быть одной из констант вдаутофитбехавиор .Can be one of the WdAutoFitBehavior constants.

Возвращаемое значениеReturn value

TableTable

ПримерExample

В этом примере показано, как добавить пустую таблицу с тремя строками и четырьмя столбцами в начале активного документа.This example adds a blank table with three rows and four columns at the beginning of the active document.

Set myRange = ActiveDocument.Range(0, 0) 
ActiveDocument.Tables.Add Range:=myRange, NumRows:=3, NumColumns:=4

В этом примере показано, как добавить новую пустую таблицу с шестью строками и десятью столбцами в конце активного документа.This example adds a new, blank table with six rows and ten columns at the end of the active document

Set MyRange = ActiveDocument.Content 
MyRange.Collapse Direction:=wdCollapseEnd 
ActiveDocument.Tables.Add Range:=MyRange, NumRows:=6, _ 
 NumColumns:=10

В этом примере показано, как добавить таблицу с тремя строками и пятью столбцами в новый документ, а затем вставить данные в каждую ячейку таблицы.This example adds a table with three rows and five columns to a new document and then inserts data into each cell in the table.

Sub NewTable() 
 Dim docNew As Document 
 Dim tblNew As Table 
 Dim intX As Integer 
 Dim intY As Integer 
 
 Set docNew = Documents.Add 
 Set tblNew = docNew.Tables.Add(Selection.Range, 3, 5) 
 With tblNew 
 For intX = 1 To 3 
 For intY = 1 To 5 
 .Cell(intX, intY).Range.InsertAfter "Cell: R" & intX & ", C" & intY 
 Next intY 
 Next intX 
 .Columns.AutoFit 
 End With 
End Sub

См. такжеSee also

Объект Collection для таблицTables Collection Object

Поддержка и обратная связь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.



Свойство Document. Tables (Word) | Microsoft Docs



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

В этой статье

Возвращает коллекцию таблиц , которая представляет все таблицы в указанном документе.Returns a Table collection that represents all the tables in the specified document. Только для чтения.Read-only.

СинтаксисSyntax

выражение.expression. Tables

Expression (выражение ) Переменная, представляющая объект Document .expression A variable that represents a Document object.

ПримечанияRemarks

Сведения о возврате одного элемента коллекции приведены в статье возвращение объекта из коллекции.For information about returning a single member of a collection, see Returning an object from a collection.

ПримерExample

В этом примере показано, как создать таблицу 5×5 в активном документе и применить к ней предварительно определенный формат.This example creates a 5×5 table in the active document and then applies a predefined format to it.

Selection.Collapse Direction:=wdCollapseStart 
Set myTable = ActiveDocument.Tables.Add(Range:=Selection.Range, _ 
NumRows:=5, NumColumns:=5) 
myTable.AutoFormat Format:=wdTableFormatClassic2

В этом примере показано, как вставить числа и текст в первый столбец первой таблицы в активном документе.This example inserts numbers and text into the first column of the first table in the active document.

num = 90 
For Each acell In ActiveDocument.Tables(1).Columns(1).Cells 
 acell.Range.Text = num & " Sales" 
 num = num + 1 
Next acell

См. такжеSee also

Объект DocumentDocument Object

Поддержка и обратная связь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.



Свойство Range. Tables (Word) | Microsoft Docs



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

В этой статье

Возвращает коллекцию Tables , которая представляет все таблицы в указанном диапазоне.Returns a Tables collection that represents all the tables in the specified range. Только для чтения.Read-only.

СинтаксисSyntax

выражение.expression. Tables

выражение: переменная, представляющая объект Range.expression A variable that represents a Range object.

ПримечанияRemarks

Сведения о возврате одного элемента коллекции приведены в статье возвращение объекта из коллекции.For information about returning a single member of a collection, see Returning an object from a collection.

ПримерExample

В этом примере показано, как создать таблицу 5×5 в активном документе и применить к ней предварительно определенный формат.This example creates a 5×5 table in the active document and then applies a predefined format to it.

Selection.Collapse Direction:=wdCollapseStart 
Set myTable = ActiveDocument.Tables.Add(Range:=Selection.Range, _ 
NumRows:=5, NumColumns:=5) 
myTable.AutoFormat Format:=wdTableFormatClassic2

В этом примере показано, как вставить числа и текст в первый столбец первой таблицы в активном документе.This example inserts numbers and text into the first column of the first table in the active document.

num = 90 
For Each acell In ActiveDocument.Tables(1).Columns(1).Cells 
 acell.Range.Text = num & " Sales" 
 num = num + 1 
Next acell

См. такжеSee also

Объект RangeRange Object

Поддержка и обратная связь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.



Работа с таблицами | Документы Microsoft

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

В этой статье

В этом разделе представлены примеры Visual Basic, связанные с задачами, указанными в следующих разделах. Этот раздел включает примеры Visual Basic, относящиеся к задачам, указанным в следующих разделах.

Создание таблицы, вставка текста и применение форматирования Создание таблицы, вставка текста и применение форматирования

В следующем примере вставляется таблица из трех строк и трех столбцов. В следующем примере таблица из четырех столбцов и трех строк вставляется в начало активного документа. Параметр For Each … Следующая структура используется для каждой ячейки в таблице. For Each … Следующая структура используется для перехода по каждой ячейке в таблице.В разделе For Each … Next Structure метод InsertAfter объекта Range используется для добавления текста в ячейки таблицы (ячейка 1, ячейка 2 и т. Д.). Внутри For Each … Следующая структура , метод InsertAfter объекта Range используется для добавления текста в ячейки таблицы (Cell 1, Cell 2 и т. д.).

  Sub CreateNewTable ()
 Dim docActive As Document
 Dim tblNew As Table
 Dim celTable As Cell
 Dim intCount как целое число
 
 Установите docActive = ActiveDocument
 Установите tblNew = docActive.Таблицы.Добавить (_
 Диапазон: = docActive.Range (Начало: = 0, Конец: = 0), NumRows: = 3, _
 NumColumns: = 4)
 intCount = 1
 
 Для каждой celTable в tblNew.Range.Cells
  celTable.Range.InsertAfter "Cell" & intCount
  intCount = intCount + 1
 Следующий celTable
 
 tblNew.AutoFormat Формат: = wdTableFormatColorful2, _
 ApplyBorders: = True, ApplyFont: = True, ApplyColor: = True
Конец подписки
  

Вставка текста в ячейку таблицы Вставка текста в ячейку таблицы

В примере ниже показано, как вставить текст в первую ячейку первой таблицы в активном документе.В следующем примере текст вставляется в первую ячейку первой таблицы в активном документе. Метод Cell возвращает один объект Cell . Метод Cell возвращает единственный объект Cell . Свойство Range возвращает объект Range . Свойство Range возвращает объект Range . Метод Delete используется для удаления существующего текста, а метод InsertAfter вставляет текст «Cell 1, 1».Метод Удалить используется для удаления существующего текста, а метод InsertAfter вставляет текст «Ячейка 1,1».

  Подложка InsertTextInCell ()
 Если ActiveDocument.Tables.Count> = 1 Тогда
  С ActiveDocument.Tables (1) .Cell (Row: = 1, Column: = 1) .Range
   .Удалять
   .InsertAfter Text: = "Ячейка 1,1"
  Конец с
 Конец, если
Конец подписки
  

Возвращение текста из ячеек без возвращения маркера ячейки Возврат текста из ячейки таблицы без возврата маркера конца ячейки

В следующем примере показано возвращение и отображение каждой ячейки в первой строке первой строки документа.В следующем примере возвращается и отображается содержимое каждой ячейки в первой строке первой таблицы документа.

  Подложка ReturnTableText ()
 Dim tblOne As Table
 Dim celTable As Cell
 Dim rngTable As Range
 
 Установите tblOne = ActiveDocument.Tables (1)
 Для каждой celTable в tblOne.Rows (1) .Cells
  Установите rngTable = ActiveDocument.Range (Start: = celTable.Range.Start, _
  Конец: = celTable.Range.End - 1)
  MsgBox rngTable.Text
 Следующий celTable
Конец подписки
  
  Подложка ReturnCellText ()
 Dim tblOne As Table
 Dim celTable As Cell
 Dim rngTable As Range
 
 Установите tblOne = ActiveDocument.Столы (1)
 Для каждой celTable в tblOne.Rows (1) .Cells
  Установите rngTable = celTable.Range
  rngTable.MoveEnd Unit: = wdCharacter, Count: = - 1
  MsgBox rngTable.Text
 Следующий celTable
Конец подписки
  

Преобразование существующего текста в таблицу Преобразование существующего текста в таблицу

В примере ниже показано, как вставить текст с разделителями табуляцией в начало активного документа, а затем преобразовать текст в таблицу. В следующем примере текст с разделителями табуляции вставляется в начало активного документа, а затем текст преобразуется в таблицу.

  Sub ConvertExistingText ()
 С Documents.Add.Content
  .InsertBefore "one" & vbTab & "two" & vbTab & "three" & vbCr
  .ConvertToTable Separator: = Chr (9), NumRows: = 1, NumColumns: = 3.
 Конец с
Конец подписки
  

Возвращение содержимого каждой ячейки таблицы Возврат содержимого каждой ячейки таблицы

В следующем примере указан массив, равный количеству ячеек в первой таблице документа (при условии, что параметр Base 1 ).В следующем примере определяется массив, равный количеству ячеек в первой таблице документа (при условии Option Base 1 ). Параметр For Each … Следующая структура используется для возврата каждой ячейки таблицы и назначения текста соответствующей структуре элементов. For Each … Следующая структура используется для возврата содержимого каждой ячейки таблицы и назначения текста для соответствующий элемент массива.

  Подложка ReturnCellContentsToArray ()
 Dim intCells как целое число
 Dim celTable As Cell
 Dim strCells () как строка
 Dim intCount как целое число
 Dim rngText As Range
 
 Если ActiveDocument.Tables.Count> = 1 Тогда
  С ActiveDocument.Tables (1) .Range
   intCells = .Cells.Count
   ReDim strCells (intCells)
   intCount = 1
   Для каждой ячейки Таблица в ячейках.
    Установите rngText = celTable.Range
    rngText.MoveEnd Unit: = wdCharacter, Count: = - 1
    strCells (intCount) = rngText
    intCount = intCount + 1
   Следующий celTable
  Конец с
 Конец, если
Конец подписки
  

Копирование всех таблиц в активном документе в новый документ Копирование всех таблиц активного документа в новый документ

В этом примере как скопировать таблицы из текущего документа в новый документ.В этом примере таблицы копируются из текущего документа в новый документ.

  Sub CopyTablesToNewDoc ()
 Dim docOld As Document
 Dim rngDoc As Range
 Dim tblDoc As Table
 
 Если ActiveDocument.Tables.Count> = 1 Тогда
  Установите docOld = ActiveDocument
  Установите rngDoc = Documents.Add.Range (начало: = 0, конец: = 0)
  Для каждого tblDoc в docOld.Tables
   tblDoc.Range.Copy
   С помощью rngDoc
    .Вставить
    .Collapse Направление: = wdCollapseEnd
    .InsertParagraphAfter
    .Collapse Направление: = wdCollapseEnd
   Конец с
  следующий
 Конец, если
Конец подписки
  

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

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

.

Объект Table (Word) | Документы Microsoft

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

В этой статье

Представляет отдельную таблицу. Представляет одну таблицу. Объект Таблица является частью коллекции Таблицы . Объект Таблица является членом коллекции Таблицы .Коллекция Tables включает все таблицы в указанном фрагменте, диапазоне или документе. Tables Коллекция включает все таблицы в указанном выборе, диапазоне или документе.

Примечания

Используйте таблицу (index), где index — это номер объекта Table . Используйте Tables (Index), где Index — номер индекса, чтобы вернуть один объект Table . Номер в диапазоне представляет положение таблицы в выделении, диапазоне или документе.Номер индекса представляет положение таблицы в выделенном фрагменте, диапазоне или документе. В приведенном ниже примере первая таблица в активном документе преобразуется в текст. В следующем примере первая таблица в активном документе преобразуется в текст.

  ActiveDocument.Tables (1) .ConvertToText Separator: = wdSeparateByTabs
  

Используйте метод Add для добавления таблицы в диапазоне. Используйте метод Add , чтобы добавить таблицу в указанном диапазоне.В следующем примере показано, как добавить таблицу 3X4 в начало документа. В следующем примере в начало активного документа добавляется таблица 3×4.

  Установить myRange = ActiveDocument.Range (начало: = 0, конец: = 0)
ActiveDocument.Tables.Add Диапазон: = myRange, NumRows: = 3, NumColumns: = 4
  

Методы Методы

СвойстваОбъекты

См. также см. также

Справочник по объектной модели Справочник по объектной модели WordWord

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

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

.

Свойство Table. Дескр (Word) | Документы Microsoft

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

В этой статье

Возвращает или задает строку , содержащую описание приведенную таблицу. Возвращает или задает строку , которая содержит описание для указанной таблицы.Для чтения и записи.Читать / писать.

Синтаксис Синтаксис

выражение . выражение . Описание

Выражение (выражение ) Выражение, возвращающее объект «Таблица». выражение Выражение, возвращающее объект «Таблица».

Примечания

Используйте свойство дескр для предоставления альтернативного текстового описания таблицы. Используйте свойство Descr , чтобы предоставить альтернативное текстовое описание для таблицы.Это свойство свойства текст в текстовое поле « Описание » на вкладке « Замените текст » диалогового окна « Свойства таблицы » в Word. Это свойство добавляет текст в текстовое поле Описание на вкладке Альтернативный текст окна диалоговое окно Table Properties в Word.

Примечание

Веб-браузеры отображают замещающий текст при загрузке таблиц, если они отсутствуют. Веб-браузеры отображают альтернативный текст во время загрузки таблиц или в случае их отсутствия.Поисковые системы веб-страниц используют используемый текст для поиска веб-страниц. Поисковые системы используют альтернативный текст для поиска веб-страниц. Кроме того, вы можете использовать заменяющий текст для поддержки противозрения. Альтернативный текст также используется для помощи инвалидам.

Пример Пример

В приведенном ниже примере кода в первую таблицу в активном документе добавлено описание альтернативной текстовой таблицы. Следующий пример кода добавляет описание альтернативной текстовой таблицы к первой таблице в активном документе.

  Dim doc как документ
Размер таблицы как таблица
 
Установить doc = ActiveDocument
Установить tbl = doc.Tables (1)
 
tbl.Descr = "Это описание таблицы."
  

См. также см. также

Объект TableTable Object

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

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

.

Автоматизация Microsoft Word с помощью Visual Basic для создания нового документа — Office

  • Чтение занимает 4 мин
  • Применяется к:

    .

    Microsoft Word

В этой статье

Сводка

В этой статье описывается создание нового документа в Word с помощью автоматизации из Visual Basic.

Пример кода

В примере кода в этой статье показано, как выполнить следующие действия:

  • Вставка абзацев с текстом и форматированием.
  • Просмотр и изменение различных диапазонов в документе.
  • Вставка таблиц, форматирование таблиц и заполнение таблиц данных.
  • Добавление диаграммы.

Чтобы создать новый документ Word с помощью автоматизации из Visual Basic, выполните следующие действия:

  1. В Visual Basic создайте новый стандартный проект EXE.По умолчанию создается форма Form1.

  2. В меню проект выберите пункт , выберите один из следующих параметров и нажмите кнопку ОК :

    • Для Office Word 2007 щелкните объектная Библиотека Microsoft Word 12,0 .
    • В Word 2003 щелкните объектная Библиотека Microsoft word 11,0 .
    • В Word 2002 щелкните объектная Библиотека Microsoft word 10,0 .
    • В Word 2000 щелкните объектная Библиотека Microsoft word 9,0 .
  3. Добавление элемента управления CommandButton в форму Form1.

  4. Добавьте следующий код в событие Нажмите для Command1:

      Тусклое слово как Word.Application
     Dim oDoc как Word.Document
     Dim oTable как Word.Table
     Dim oPara1 как Word.Paragraph, oPara2 как Word.Paragraph
     Dim oPara3 как Word.Paragraph, oPara4 как Word.Paragraph
     Dim oRng As Word.Range
     Dim oShape как Word.InlineShape
     Dim oChart As Object
     Dim Pos as Double
    
     'Запустите Word и откройте шаблон документа.Установите oWord = CreateObject ("Word.Application")
     oWord.Visible = True
     Установите oDoc = oWord.Documents.Add
    
     'Вставьте абзац в начало документа.
     Установите oPara1 = oDoc.Content.Paragraphs.Add.
     oPara1.Range.Text = "Заголовок 1"
     oPara1.Range.Font.Bold = True
     oPara1.Format.SpaceAfter = 24 '24 pt после абзаца.
     oPara1.Range.InsertParagraphAfter
    
     'Вставьте абзац в конец документа.
     '** \ endofdoc - это предопределенная закладка.
     Установите oPara2 = oDoc.Content.Paragraphs.Add (oDoc.Закладки ("\ endofdoc"). Диапазон)
     oPara2.Range.Text = "Заголовок 2"
     oPara2.Format.SpaceAfter = 6
     oPara2.Range.InsertParagraphAfter
    
     'Вставьте еще один абзац.
     Установите oPara3 = oDoc.Content.Paragraphs.Add (oDoc.Bookmarks ("\ endofdoc"). Диапазон)
     oPara3.Range.Text = "Это предложение обычного текста. Теперь вот таблица:"
     oPara3.Range.Font.Bold = Ложь
     oPara3.Format.SpaceAfter = 24
     oPara3.Range.InsertParagraphAfter
    
     'Вставьте таблицу 3 x 5, заполните ее данными и сделайте первую строку
     жирным курсивом.
     Dim r как целое, c как целое
     Установите oTable = oDoc.Tables.Add (oDoc.Bookmarks ("\ endofdoc"). Диапазон, 3, 5)
     oTable.Range.ParagraphFormat.SpaceAfter = 6
     Для r = от 1 до 3
         Для c = от 1 до 5
             oTable.Cell (r, c) .Range.Text = "r" & r & "c" & c
         следующий
     следующий
     oTable.Rows (1) .Range.Font.Bold = True
     oTable.Rows (1) .Range.Font.Italic = True
    
     'Добавьте текст после таблицы.
     'oTable.Range.InsertParagraphAfter
     Установите oPara4 = oDoc.Content.Paragraphs.Add (oDoc.Bookmarks ("\ endofdoc"). Диапазон)
     oPara4.Range.InsertParagraphBefore
     oPara4.Range.Text = "А вот еще одна таблица:"
     oPara4.Format.SpaceAfter = 24
     oPara4.Range.InsertParagraphAfter
    
     'Вставьте таблицу 5 x 2, заполните ее данными и измените ширину столбцов.
     Установите oTable = oDoc.Tables.Add (oDoc.Bookmarks ("\ endofdoc"). Range, 5, 2)
     oTable.Range.ParagraphFormat.SpaceAfter = 6
     Для r = от 1 до 5
         Для c = от 1 до 2
             oTable.Cell (r, c) .Range.Text = "r" & r & "c" & c
         следующий
     следующий
     oTable.Columns (1) .Width = oWord.InchesToPoints (2) 'Изменить ширину столбцов 1 и 2.
     oTable.Columns (2) .Width = oWord.InchesToPoints (3)
    
     'Продолжайте вставлять текст.Когда вы достигнете 7 дюймов от вершины
     'документ, вставьте жесткий разрыв страницы.
     Pos = oWord.InchesToPoints (7)
     oDoc.Bookmarks ("\ endofdoc"). Range.InsertParagraphAfter
     Делать
         Установите oRng = oDoc.Bookmarks ("\ endofdoc"). Диапазон
         oRng.ParagraphFormat.SpaceAfter = 6
         oRng.InsertAfter «Строка текста»
         oRng.InsertParagraphAfter
     Цикл While Pos> = oRng.Information (wdVerticalPositionRelativeToPage)
     oRng.Collapse (wdCollapseEnd)
     oRng.InsertBreak wdPageBreak
     oRng.Collapse wdCollapseEnd
     oRng.InsertAfter "Мы сейчас на странице 2. Вот моя диаграмма:"
     oRng.InsertParagraphAfter
    
     'Вставьте диаграмму и измените диаграмму.
     Установите oShape = oDoc.Bookmarks ("\ endofdoc"). Range.InlineShapes.AddOLEObject (_
         ClassType: = "MSGraph.Chart.8", FileName _
         : = "", LinkToFile: = False, DisplayAsIcon: = False)
     Установите oChart = oShape.OLEFormat.Object
     oChart.charttype = 4 'xlLine = 4
     oChart.Application.Update
     oChart.Application.Quit
     '... При желании отсюда можно перейти с помощью Microsoft Graph
     'Объектная модель объекта oChart для внесения дополнительных изменений в
     'диаграмма.oShape.Width = oWord.InchesToPoints (6,25)
     oShape.Height = oWord.InchesToPoints (3,57)
    
     'Добавьте текст после диаграммы.
     Установите oRng = oDoc.Bookmarks ("\ endofdoc"). Диапазон
     oRng.InsertParagraphAfter
     oRng.InsertAfter "КОНЕЦ."
    
     'Все сделано. Выгрузите эту форму.
     Разгрузить меня
    
      
  5. Нажмите F5, чтобы запустить программу, а затем выберите Command1.

После завершения проверки созданный документ. Документ содержит две страницы форматированных абзацев, таблиц и диаграмм.

Использование шаблона

Если вы используете автоматизацию для создания документов, отформатированных в общем формате, можно использовать новый документ, основанный на созданном отформатированном шаблоне. Использование шаблона с помощью программного обеспечения Word имеет два преимущества по сравнению с созданием документа из ничего:

  • Вы можете больше управлять форматированием и размещением объектов в документах.
  • Вы можете создать документы с меньшим кодом.

С помощью шаблона можно выполнить точную настройку таблиц, абзацев и других объектов в документе, а также включить форматирование для этих объектов. С помощью системы можно создать новый документ на шаблоне, используя следующий код:

  oWord.Documents.Add "<Путь к вашему шаблону> \ MyTemplate.dot"
  

В шаблоне можно определить закладки, чтобы автоматически заполнить переменный текст в определенном месте документа, как показано ниже:

  oDoc.Закладки ("MyBookmark"). Range.Text = "Здесь немного текста"
  

Еще одно преимущество использования шаблона в том, что вы можете применить во время выполнения следующим образом:

  oDoc.Bookmarks ("MyBookmark"). Range.Style = "MyStyle"
  

Кроме того:

  oWord.Selection.Style = "MyStyle"
  

Ссылки

Для получения сведений о пользователе номера статей, приведенные ниже, просмотреть статьи базы знаний Майкрософт:

285332 как автоматизировать Word 2002 с помощью Visual Basic для создания слияния почты

Разработка Microsoft Office с помощью Visual Studio

(c) корпорация Майкрософт (Microsoft Corporation) 2001, все права защищены.Вклады Лори Б. Турнер, корпорация Майкрософт.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *