Avatar billede mrkr Juniormester
24. januar 2010 - 13:34 Der er 5 kommentarer og
1 løsning

finde 5 tekstboxe og slette dem, hvis de er tomme

Jeg har 20 tekstbokse sat ind i mit worddokument.

Jeg har brug for en stump kode der finder de tekstfelter, der er tomme og sletter dem.

Kan det lade sig gøre?
Avatar billede Lene Fredborg Ekspert
24. januar 2010 - 13:59 #1
Du skriver henholdsvis tekstbokse og tekstfelter. Hvis du mener tekstbokse, så vil følgende makro løse opgaven:

Sub DeleteEmptyTextBoxes()
    Dim oTB As Shape
   
    For Each oTB In ActiveDocument.Shapes
        If oTB.Type = msoTextBox Then
            'Slet TextBox hvis der kun findes et afsnitstegn
            If oTB.TextFrame.TextRange.Text = Chr(13) Then
                oTB.Delete
            End If
        End If
    Next oTB
End Sub
Avatar billede mrkr Juniormester
24. januar 2010 - 21:56 #2
Jeg har prøvet koden, men den virker ikke hos mig.

Når jeg ser i min kode kan jeg se at deter "FormFields" jeg har 20 stk af i mit dokument.

Det koden skal er at slette de tomme formfilds + trække den linje der står nedenunder op.

Dette skyldes at mit formfield står alene på en linje + et efterfølgende ENTER

Hvis man så "kun" sletter formfielden, kommer der nogle tomme linjer.
Avatar billede Lene Fredborg Ekspert
24. januar 2010 - 23:03 #3
Tekstformfelter og tekstbokse er to helt forskellige ting, som intet har med hinanden at gøre. Det kan af gode grunde ikke lade sig gøre at få en makro til at virke på begge dele (og du skrev tekstbokse…).

Nedenstående makro vil slette de afsnit, som indeholder et tomt TextFormField. Dokumentet skal være ubeskyttet for at køre koden:

Sub DelteEmptyTextFormFields()
    Dim oFF As FormField
   
    For Each oFF In ActiveDocument.FormFields
   
        If oFF.Type = wdFieldFormTextInput Then
            'Slet hele afsnittet med feltet hvis det er tomt
            If oFF.Result = "" Then
                oFF.Range.Paragraphs(1).Range.Delete
            End If
        End If
    Next oFF
   
End Sub
Avatar billede mrkr Juniormester
25. januar 2010 - 17:14 #4
Beklager at jeg fik skrevet noget forkert.
Det viser så bare hvor meget styr jeg har på tingene :-)

Den sidste kode du har lavet var lige som den skulle være.
Mange tak for hjælpen.

Har duet svar? Så har jeg points...
Avatar billede Lene Fredborg Ekspert
25. januar 2010 - 18:14 #5
Velbekomme.

Ja, det er jo ikke let med alle begreberne :-), men som det jo også viste sig her, er det helt afgørende, hvad der står i spørgsmålet. Når man som "hjælper" prøver at finde ud af, hvad et problem består i, har man jo kun den skrevne forklaring og ingen dokumenter at se på. Tankelæsning virker desværre ikke altid ;-)
Avatar billede mrkr Juniormester
25. januar 2010 - 18:48 #6
Helt korrekt.
Jeg skal gøre mit bedste for beskrive det korrekt næste gang :-)
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
Tag et kursus i Word og øg effektiviteten

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