Макросы Word VBA - Таблицы: Добавить, Выбрать, Цикл, Вставить из Excel

Добавить таблицу в документ Word

Этот простой макрос добавит таблицу в ваш документ Word:

Sub VerySimpleTableAdd () Dim oTable As Table Set oTable = ActiveDocument.Tables.Add (Range: = Selection.Range, NumRows: = 3, NumColumns: = 3) End Sub

Выбрать таблицу в Word

Этот макрос выберет первую таблицу в активном документе Word:

Sub SelectTable () 'выбирает первую таблицу в активном документе If ActiveDocument.Tables.Count> 0 Then', чтобы избежать ошибок, мы проверяем, существует ли какая-либо таблица в активном документе ActiveDocument.Tables (1). Выберите End If End Sub

Цикл по всем ячейкам в таблице

Этот макрос VBA будет перебирать все ячейки в таблице, записывая количество ячеек в ячейку:

Sub TableCycling () 'перебирает все ячейки в таблице Dim nCounter As Long' это будет записано во всех ячейках таблицы Dim oTable As Table Dim oRow As Row Dim oCell As Cell ActiveDocument.Range.InsertParagraphAfter 'просто создает новый параграф в конце документа , Здесь будет создана таблица. Set oTable = ActiveDocument.Tables.Add (Range: = ActiveDocument.Paragraphs.Last.Range, NumRows: = 3, NumColumns: = 3) 'создайте таблицу и назначьте ее переменной For Each oRow In oTable. Внешний цикл строк проходит по строкам Для каждой oCell In oRow.Cells 'внутренний цикл идет nCounter = nCounter + 1' увеличивает счетчик oCell.Range.Text = nCounter 'записывает счетчик в ячейку Next oCell Next oRow' отображает результат из ячейки из второй столбец во второй строке Dim strTemp As String strTemp = oTable.Cell (2, 2) .Range.Text MsgBox strTemp End Sub

Создать таблицу Word из файла Excel

Этот пример VBA создаст таблицу из файла Excel:

Sub MakeTablefromExcelFile () 'расширенный Dim oExcelApp, oExcelWorkbook, oExcelWorksheet, oExcelRange Dim nNumOfRows As Long Dim nNumOfCols As Long Dim strFile As String Dim oTable As Table' таблица слов Dim oRow As Row 'word row Dim Счетчик циклов As Long, y As Long 'strFile = "c: \ Users \ Nenad \ Desktop \ BookSample.xlsx"' изменить на фактический путь Установить oExcelApp = CreateObject ("Excel.Application") oExcelApp.Visible = True Установить oExcelWorkbook = oExcelApp. Count nNumOfCols = oExcelRange.Columns.Count ActiveDocument.Range.InsertParagraphAfter 'просто создает новый пункт в конце документа, здесь будет создана таблица Set oTable = ActiveDocument.Tables.Add (Range: = ActiveDocument.Paragraphs.Last.Range, NumRows: = nNumOfRows, NumColumns: = nNumOfCols) 'creat таблица и присвоить ее переменной '*** real deal, таблица заполняется здесь For x = 1 To nNumOfRows For y = 1 To nNumOfCols oTable.Cell (x, y) .Range.Text = oExcelRange.Cells (x, y ) .Value Next y Next x '*** oExcelWorkbook.Close False oExcelApp.Quit С помощью oTable.Rows (1) .Range' теперь мы можем добавить немного красоты к нашей таблице :) .Shading.Texture = wdTextureNone .Shading.ForegroundPatternColor = wdColorAutomatic .Shading.BackgroundPatternColor = wdColorYellow End with End Sub

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave