Via Excel VBA in Word Repeating Header Rows Creëren.

Status
Niet open voor verdere reacties.

HelpMeUser

Nieuwe gebruiker
Lid geworden
26 aug 2009
Berichten
2
Hallo Allemaal,

Via een VBA script in Excel creëer ik een Word document (tabel) met een bookmark erin.(tot zover werkt het, en de code hiervoor staat onderaand deze post)
Nu wil ik graag dat de eerste drie rijen in de Word tabel "Repeating Header Rows" worden.
Hoe doe ik dat??
Het volgende heb ik geprobeerd maar helaas, dat werkt niet
Code:
    oWordApp.Selection.HomeKey Unit:=wdStory
    oWordApp.Selection.MoveDown Unit:=wdLine, Count:=1, Extend:=wdExtend
    oWordApp.Selection.EndKey Unit:=wdLine, Extend:=wdExtend
    oWordApp.Selection.EndKey Unit:=wdLine, Extend:=wdExtend
    oWordApp.Selection.EndKey Unit:=wdLine, Extend:=wdExtend
    oWordApp.Selection.EndKey Unit:=wdLine, Extend:=wdExtend
    oWordApp.Selection.MoveDown Unit:=wdLine, Count:=1, Extend:=wdExtend
    oWordApp.Selection.Rows.HeadingFormat = wdToggle

De code om via Excel een Word tabel te creëren:
Code:
    'Create a Word document.
    Set oWordApp = CreateObject("Word.Application")
    'Make the newly created Word instance visible
    oWordApp.Visible = True
    'create a new document
    Set oWordDoc = oWordApp.Documents.Add
    
    'Copy data
    Sheets("Sheet 1").Select
    LastRow = Cells(Rows.Count, "C").End(xlUp).Row
    'quick fix for if the sheet is empty (always select the header)
    If LastRow < 3 Then
        LastRow = 3
    End If

    LastColumn = Cells(3, Columns.Count).End(xlToLeft).Column
    Set rExport = Range("A1", Cells(LastRow, LastColumn))
    rExport.Copy
    'Paste Excel range in Word (will be pasted in a table)
    oWordApp.Selection.PasteSpecial Link:=False, Placement:=wdInLine
    'Add the bookmark
    oWordDoc.Bookmarks.Add Name:="BookmarkName", Range:=oWordDoc.Content

    'Save the Word document
    oWordDoc.SaveAs sPath & sFileName, wdFormatDocument
    'Close Word Application
    oWordApp.Quit SaveChanges:=False

Indien mijn vraag onduidelijk graag ook even een reactie dan probeer ik hem verder toe te lichten.
 
Het kan iets simpeler:
Code:
Sub tst()
  Sheets(1).[A1].CurrentRegion.Copy
  With GetObject(, "Word.application").Application
    .Visible = True
    With .documents.Add
      .paragraphs(1).Range.PasteSpecial
      .tables(1).Rows(1).HeadingFormat = True
    End With
  End With
End Sub
In Word kan alleen de 1e rij van een tabel als herhalingskop worden ingesteld.
Een bladwijzer die het hele document beslaat lijkt mij overbodig.

.
 
Laatst bewerkt:
Bedankt voor het snelle antwoorden.
Dit is idd de regel die ik zoek.
En 3 rijen werkt ook prima :)

Een bladwijzer die het hele document beslaat lijkt mij overbodig.
Dit word document wat gegenereerd wordt, word weer gebruikt bij een master document, vandaar dat het hele document een bladwijzer heeft.

En die simpeler versie ga ik zeker nog doorvoeren.

Prettige avond nog.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan