Μακροεντολές Word VBA - Πίνακες: Προσθήκη, επιλογή, βρόχος, εισαγωγή από το Excel

Προσθήκη πίνακα στο Word Document

Αυτή η απλή μακροεντολή θα προσθέσει έναν πίνακα στο έγγραφο του 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. Πίνακες (1). Επιλέξτε Τέλος Αν Τέλος Υπο

Βρόχος σε όλα τα κελιά σε έναν πίνακα

Αυτή η μακροεντολή VBA θα κάνει βρόχο σε όλα τα κελιά ενός πίνακα, γράφοντας τον αριθμό κελιών στο κελί:

Sub TableCycling () 'βρόχος σε όλα τα κελιά στον πίνακα Dim nCounter As Long' αυτό θα γραφτεί σε όλα τα κελιά πίνακα Dim oTable As Table Dim oRow As Row Dim oCell As Cell ActiveDocument.Range.InsertParagraph After 'απλώς κάνει νέα παράσταση στο τέλος του εγγράφου , Πίνακας θα δημιουργηθεί εδώ Set oTable = ActiveDocument.Tables.Add (Range: = ActiveDocument.Paragraphs.Last.Range, NumRows: = 3, NumColumns: = 3) 'δημιουργήστε πίνακα και αναθέστε τον σε μεταβλητή Για κάθε oRow In oTable. Ο εξωτερικός βρόχος των γραμμών περνάει από τις γραμμές για κάθε oCell In oRow. Ο εσωτερικός βρόχος των κυττάρων πηγαίνει nCounter = nCounter + 1 'αυξάνει τον μετρητή oCell.Range.Text = nCounter' γράφει μετρητή στο κελί Επόμενο αποτέλεσμα εμφάνισης oCell Next oRow 'από το κελί από δεύτερη στήλη στη δεύτερη σειρά Dim strTemp As String strTemp = oTable.Cell (2, 2). Range.Text MsgBox strTemp End Sub

Δημιουργία πίνακα Word από αρχείο Excel

Αυτό το παράδειγμα VBA θα δημιουργήσει έναν πίνακα από ένα αρχείο Excel:

Sub MakeTablefromExcelFile () 'advanced Dim oExcelApp, oExcelWorkbook, oExcelWorksheet, oExcelRange Dim nNumOfRows As Long Dim nNumOfCols As Long Dim strFile As String Dim oTable As Table' word table Dim oRow As Row 'word row Dim oC Όσο καιρό, y As Long 'μετρητής για βρόχους strFile = "c: \ Users \ Nenad \ Desktop \ BookSample.xlsx"' αλλαγή στην πραγματική διαδρομή Set oExcelApp = CreateObject ("Excel.Application") oExcelApp.Visible = True Set oExcelWorkbook = oExcelApp.Workbooks.Open (strFile) 'ανοιχτό βιβλίο εργασίας και αποδώστε το σε μεταβλητή Ορίστε oExcelWorksheet = oExcelWorkbook.Worksheets (1)' asign first worksheet to variable Ορίστε oExcelRange = oExcelWorksheet.Range ("A1: C8Rows = N8 Καταμέτρηση nNumOfCols = oExcelRange.Columns.Count ActiveDocument.Range.InsertParagraphAfter "μόλις κάνει νέα παράδοση στο τέλος του εγγράφου, ο πίνακας θα δημιουργηθεί εδώ Set oTable = ActiveDocument.Tables.Add (Range: = ActiveDocument.Paragraphs.Last.Range, NumRows: = nNumOfRows, NumColumns: = nNumOfCols) 'creat 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 With oTable.Rows (1). Range' μπορούμε τώρα να εφαρμόσουμε κάποια ομορφιά στο τραπέζι μας :) .Shading.Texture = wdTextureNone .Shading.ForegroundPatternColor = wdColorAutomatic .Shading.BackgroundPatternColor = wdColorYellow End With End Sub

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave