Makra Word VBA - tabele: Dodaj, wybierz, zapętl, wstaw z programu Excel

Dodaj tabelę do dokumentu programu Word

To proste makro doda tabelę do dokumentu programu Word:

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

Wybierz tabelę w programie Word

To makro wybierze pierwszą tabelę w aktywnym dokumencie programu Word:

Sub SelectTable() 'wybiera pierwszą tabelę w aktywnym dokumencie If ActiveDocument.Tables.Count > 0 Then 'aby uniknąć błędów sprawdzamy, czy jakakolwiek tabela istnieje w aktywnym dokumencie ActiveDocument.Tables(1).Select End If End Sub

Przeprowadź pętlę przez wszystkie komórki w tabeli

To makro VBA przejdzie przez wszystkie komórki w tabeli, zapisując liczbę komórek do komórki:

Sub TableCycling() ' pętla przez wszystkie komórki w tabeli Dim nCounter As Long ' zostanie to zapisane we wszystkich komórkach tabeli Dim oTable As Table Dim oRow As Row Dim oCell As Cell ActiveDocument.Range.InsertParagraphAfter 'po prostu tworzy nowy para na końcu dokumentu , Tu zostanie utworzona tabela Set oTable = ActiveDocument.Tables.Add(Range:=ActiveDocument.Paragraphs.Last.Range, NumRows:=3, NumColumns:=3) 'utwórz tabelę i przypisz ją do zmiennej For Each oRow In oTable. Rows ' zewnętrzna pętla przechodzi przez wiersze For Each oCell In oRow.Cells 'wewnętrzna pętla przechodzi nCounter = nCounter + 1 'zwiększa licznik oCell.Range.Text = nCounter 'zapisuje licznik do komórki Next oCell Next oRow 'wyświetla wynik z komórki z druga kolumna w drugim wierszu Dim strTemp As String strTemp = oTable.Cell(2, 2).Range.Text MsgBox strTemp End Sub

Utwórz tabelę słów z pliku Excel

Ten przykład VBA utworzy tabelę z pliku Excel:

Sub MakeTablefromExcelFile() 'zaawansowane Dim oExcelApp, oExcelWorkbook, oExcelWorksheet, oExcelRange Dim nNumOfRows As Long Dim nNumOfCols As Long Dim strFile As String Dim oTable As Table 'tabela słów Dim oRow As o Cell wiersz komórki Dim As Long, y As Long 'licznik pętli strFile = "c:\Users\Nenad\Desktop\BookSample.xlsx" 'zmień na rzeczywistą ścieżkę Set oExcelApp = CreateObject("Excel.Application") oExcelApp.Visible = True Set oExcelWorkbook = oExcelApp.Workbooks.Open(strFile) 'otwórz skoroszyt i przypisz go do zmiennej Set oExcelWorksheet = oExcelWorkbook.Worksheets(1) 'przypisz pierwszy arkusz do zmiennej Set oExcelRange = oExcelWorksheet.Range("A1:C8") nNumOfRows = oExcelRange.Rows. Count nNumOfCols = oExcelRange.Columns.Count ActiveDocument.Range.InsertParagraphPo 'utworzeniu nowego paragrafu na końcu dokumentu, tabela zostanie utworzona tutaj Set oTable = ActiveDocument.Tables.Add(Range:=ActiveDocument.Paragraphs.Last.Range:NumRowe =nNumOfRows, NumColumns:=nNumOfCols) 'utwórz e tabelę i przypisz ją do zmiennej '***real deal, tabela zostaje wypełniona tutaj 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 Dzięki oTable.Rows(1).Range 'możemy teraz nadać naszej tabeli trochę piękna :) .Shading.Texture = wdTextureNone .Shading.ForegroundPatternColor = wdColorAutomatic .Shading.BackgroundPatternColor = wdColorYellow End With End Sub

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave