Avatar billede masteraaen Novice
20. juni 2011 - 23:44 Der er 3 kommentarer og
1 løsning

Word vba select alle shapes i header og footer

Hej.

jeg skal have "unlinket" alle mine flettefelter i mine gamle dokumenters header og footer. Flettefelterne er i nogen shapes.

Manuelt kan det gøres ved at klikke sig til sidehoved og markere en shape og derefter al teksten deri og så trykke ctrl+shift+f9.
Så bliver alle koderne til alm tekst.

Men hvordan laver jeg det som makro? Jeg kan ikke finde ud af, at få markeret teksten i rammerne i sidehovedet...

Når det er gjort, er det sikker blot Selection.Fields.Unlink, der skal til...
Avatar billede Lene Fredborg Ekspert
21. juni 2011 - 01:16 #1
Hvis det skal virke i diverse dokumenter med en/flere sektioner og med forskellige indstillinger af speciel første side mm., er koden nødt til at løbe igennem alle sektioner og håndtere alle varianterne af sidehoved (3 typer).

Shapes er nogle lidt sære objekter at have med at gøre. Følgende makro vil unlinke felter i Shape-objekter, som indeholder tekst, i alle sektioner og alle 3 typer headers.

Bemærk, at makroen ikke ændrer på selection, hvilket absolut er at foretrække.

Sub UnlinkFieldsInShapesInHeader()
    Dim oField As Field
    Dim oShape As Shape
    Dim oSec As Section
   
    'Treat all sections
    For Each oSec In ActiveDocument.Sections
        'Treat shapes in each header type
        For Each oShape In oSec.Headers(wdHeaderFooterPrimary).Shapes
            If oShape.TextFrame.HasText = True Then
                oShape.TextFrame.TextRange.Fields.Unlink
            End If
        Next oShape
        For Each oShape In oSec.Headers(wdHeaderFooterFirstPage).Shapes
            If oShape.TextFrame.HasText = True Then
                oShape.TextFrame.TextRange.Fields.Unlink
            End If
        Next oShape
        For Each oShape In oSec.Headers(wdHeaderFooterEvenPages).Shapes
            If oShape.TextFrame.HasText = True Then
                oShape.TextFrame.TextRange.Fields.Unlink
            End If
        Next oShape
    Next oSec
End Sub
Avatar billede masteraaen Novice
21. juni 2011 - 20:39 #2
Works like a charm!

Tusinde tak - vil du lave et svar?
Avatar billede Lene Fredborg Ekspert
21. juni 2011 - 22:13 #3
Velbekomme.
Avatar billede Lene Fredborg Ekspert
18. juli 2011 - 20:36 #4
Husk at afslutte dine spørgsmål. Gælder også http://www.eksperten.dk/spm/941716
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester