Макроси Word VBA - таблиці: додавання, вибір, цикл, вставка з Excel

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

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

Sub VerySimpleTableAdd () Dim oTable As Table Set oTable = ActiveDocument.Tables.Add (Діапазон: = Selection.Range, NumRows: = 3, NumColumns: = 3) End Sub

Виберіть Таблиця в Word

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

Sub SelectTable () 'вибирає першу таблицю в активному документі Якщо ActiveDocument.Tables.Count> 0 Тоді' щоб уникнути помилок, ми перевіряємо, чи існує якась таблиця в активному документі ActiveDocument.Tables (1). Вибираємо End, якщо End Sub

Цикл через усі клітинки в таблиці

Цей макрос VBA прокручуватиме всі клітинки в таблиці, записуючи кількість клітинок у клітинку:

Sub TableCycling () 'цикл через усі клітинки в таблиці Dim nCounter As Long' це буде записано у всіх клітинках таблиці Dim oTable As Table Dim oRow As Row Dim oCell As Cell ActiveDocument.Range.InsertParagraphAfter 'просто робить новий абзац в кінці документа , Тут буде створена таблиця. Встановіть oTable = ActiveDocument.Tables.Add (Діапазон: = ActiveDocument.Paragraphs.Last.Range, NumRows: = 3, NumColumns: = 3) 'створіть таблицю та призначте її змінній для кожного oRow у oTable. Вихідний цикл рядків проходить через рядки Для кожної oCell В 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' table table Dim oRow As Row 'рядок слова Dim Dim o As Long, y As Long 'лічильник для циклів strFile = "c: \ Users \ Nenad \ Desktop \ BookSample.xlsx"' змінити на фактичний шлях Встановити oExcelApp = CreateObject ("Excel.Application") oExcelApp.Visible = True Set oExcelWorkbook = oExcelApp.Workbooks.Open (strFile) 'відкрити книгу та призначити її для змінної Встановити oExcelWorksheet = oExcelWorkbook.Worksheets (1)' призначити перший робочий аркуш для змінної Встановити oExcelRange = oExcelWorksheet.Range ("A1: C8") nws Підрахувати nNumOfCols = oExcelRange.Columns.Count ActiveDocument.Range.InsertParagraphAfter 'тільки створює новий пункт в кінці документа, тут буде створена таблиця. = nNumOfRows, NumColumns: = nNumOfCols) 'Creat e таблицю та присвоїти її змінній '*** реальна угода, таблиця заповнюється тут 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 Sub

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

wave wave wave wave wave