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 () 'избира първата таблица в активен документ Ако ActiveDocument.Tables.Count> 0 Тогава' за да избегнем грешки, проверяваме дали има някаква таблица в активен документ 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 "просто прави нов параграф в края на doc , Таблица ще бъде създадена тук Set oTable = ActiveDocument.Tables.Add (Range: = ActiveDocument.Paragraphs.Last.Range, NumRows: = 3, NumColumns: = 3) 'създайте таблица и я присвойте на променлива за всеки oRow в oTable. Външният цикъл на редове преминава през редове За всяка oCell В oRow.Cells вътрешният цикъл преминава nCounter = nCounter + 1 'увеличава брояча oCell.Range.Text = nCounter' записва брояча в клетката Следващ oCell Следващ oRow 'резултат от клетката от втора колона във втория ред Dim strTemp As String strTemp = oTable.Cell (2, 2). Range.Text MsgBox strTemp End Sub

Създайте Word Table от 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 'word word Dim Dim 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. Count nNumOfCols = oExcelRange.Columns.Count ActiveDocument.Range.InsertParagraphAfter 'просто прави нов параграф в края на doc, таблицата ще бъде създадена тук Set oTable = ActiveDocument.Tables.Add (Range: = ActiveDocument.Paragraphs.Last.Range, = nNumOfRows, NumColumns: = nNumOfCols) 'създаден e таблица и я присвойте на променлива '*** реална сделка, таблицата се попълва тук За x = 1 За nNumOfRows За y = 1 За 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. wdColorAutomatic .Shading.BackgroundPatternColor = wdColorYellow Край с End Sub

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave