Avatar billede firstchoice Nybegynder
08. oktober 2003 - 21:57 Der er 9 kommentarer og
1 løsning

makro til at slette tekst der er skrevet med en bestmt farve

Jeg mangler en makro der finder alt tekst i et word dokument er skrevet med f.eks. skriftfarven blå, og sletter den fundne tekst.
Jeg anvender word2000
08. oktober 2003 - 22:10 #1
Public Sub CharatersWithColorDelete()
    Dim lCount As Long
   
    With ActiveDocument
        For lCount = .Characters.Count To 1 Step -1
            With .Characters(lCount)
                If .Font.Color = wdColorBlue Then
                    .Text = ""
                End If
            End With
        Next lCount
    End With
End Sub

Værd opmærksom på mellemrum der evt. ikke bliver slettet....!!
08. oktober 2003 - 22:14 #2
istedet for
If .Font.Color = wdColorBlue Then
kan du bruge
If .Font.ColorIndex = 5 Then

se evt. farvekodetallene her
http://www.win-consult.com/Tips/LibrarySource.asp?App=Excel&Lib=ColorRows
Avatar billede firstchoice Nybegynder
08. oktober 2003 - 22:26 #3
Jeg har testet din makro, og den virker, men men det tager uendelig lang tid. Jeg har et test dokument på 78 sider og det tager flere minutter. Hvis jeg laver sletningen med en normal søg/erstat går det lynhurtigt
08. oktober 2003 - 22:29 #4
du kan jo bruge Funktioner/Makro/Makro båndoptageren til at lave din makro med.

smid evt. koden her, så kan jeg måske optimere den.
Avatar billede firstchoice Nybegynder
08. oktober 2003 - 22:37 #5
Jeg har forsøgt med makro båndoptageren, men så tager systemet det er indtastet i søg og erstat felterne, og det vil jeg undgå.
Her er koden:
Sub SletBlue()
'
' SletBlue Macro
' Macro recorded 08-10-2003 by administrator
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
08. oktober 2003 - 22:40 #6
ja, der er ikke meget blå med i det........... jeg springer fra nu. Følger med hvis der kommer yderligere kode frem her.
Avatar billede firstchoice Nybegynder
08. oktober 2003 - 22:46 #7
Nej det vil jeg give dig ret i. Søgefeltet var sat op til blå og erstatfeltet til ingenting.
Avatar billede kabbak Professor
08. oktober 2003 - 23:11 #8
Mit bud på en makro

Sub FindBlå()
Selection.WholeStory
With Selection.find
    .Font.Color = wdColorBlue
    .Execute Replace:=wdReplaceAll
  End With

End Sub
Avatar billede firstchoice Nybegynder
08. oktober 2003 - 23:18 #9
Det virker meget fint. Tak for hjælpen
Avatar billede kabbak Professor
08. oktober 2003 - 23:19 #10
selv tak ;-)
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