Word VBA: Opmaak even Pagina's

Status
Niet open voor verdere reacties.

Tweety1

Gebruiker
Lid geworden
6 mrt 2013
Berichten
637
Ik ben opzoek naar een Word VBA die op elke even pagina de eerste 2 lege regels (geen tabel) verwijderd en de gehele pagina de tekstkleur aanpast naar Font.Color = -603923969

mvg

Kasper
 
Dat gaat je niet lukken, denk ik. In ieder geval niet zonder voorbeeldje :). Maar pagina's zijn op zichzelf niet zoveel; het zijn meer relatieve gegevens dan harde objecten die je kan aanspreken. Bovendien: als je op een pagina regels weghaalt, schuiven de overige regels op en goede kans dat je uiteindelijk teksten krijgt die niet meer op een even pagina staan, maar op een oneven pagina. En wat dan?

Lege regels moet je sowieso vermijden, en als je ze hebt: vervang ze net zo lang door één alineamarkering tot je er geen een meer over hebt. Ga vervolgens met stijlen (profielen) werken en geef in die profielen de juiste regelafstand op. Lege regels bovenaan een pagina hoor je uiteraard al helemaal niet in je document op te nemen!

Maar begin eens met een voorbeeldje te posten, dan kunnen we zien wat er écht allemaal moet gebeuren.
 
Je hebt gelijk. Niet bij stil gestaan dat de tekst gaat verspringen. Wat er dan overblijft is dat tekstkleur van de gehele pagina op elke even pagina aanpast dient te worden.
Zal morgen een voorbeeld bestand uploaden.
 
Hierbij het voorbeeld bestand

Extensie rtf verander in doc

Oneven pagina:
Is de 1ste regel return dan 1ste regel verwijderen.

Even pagina:
Eerste 2 returns regels verwijderen.
Gehele pagina de tekstkleur aanpast naar Font.Color = -603923969
 

Bijlagen

Hiervoor geldt hetzelfde: je kunt dat wel doen, maar als je iets verandert in je document, klopt er niet veel meer van. Maar goed, het is jouw macro :)
Code:
Sub mcrKleurPagina()
Dim iPS As Integer, i As Integer

    iPS = Selection.Information(wdNumberOfPagesInDocument)
    Application.ScreenUpdating = False
    For i = 2 To iPS Step 2
        If i < iPS Then
            With Selection
                .GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=i
                Do While Not Selection.Information(wdActiveEndAdjustedPageNumber) = i + 1
                    .MoveDown Unit:=wdLine, Count:=1, Extend:=wdExtend
                Loop
                .MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend
                .Font.ColorIndex = wdDarkYellow
            End With
        End If
    Next i
    Application.ScreenUpdating = True
End Sub
 
Mijn aanpak.

Maak een document "grading scheme.docx' met de gewenste opmaak.
Zet in het document "cerificaten.docx" na ieder certificaat een 'Inserttext' veld, dat verwijst naar het document "grading scheme.docx"

Ready & klaar & flexibel.
 

Bijlagen

Bedankt voor het meedenken alle bij de oplossing kan ik gebruiken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan