Avatar billede Gaedt Novice
14. december 2017 - 14:14 Der er 6 kommentarer og
1 løsning

Søg og erstat i mange dokumenter (også i sidehoved og sidefod)

Jeg har en hel stime af dokumenter i samme folder, som anvendes som skabeloner der skal udfyldes i forbindelse med validering af nye releases af vort IT system

I den forbindelse skal alle dokumenterne gennemgåes og opdateres med korrekt version...

Følgende svar jeg har fundet fra supertekst her på siden kan sådan set gøre det meste af jobbet, men den rører ikke ved teksten i sidehovedet...
https://www.computerworld.dk/eksperten/spm/839599

Jeg er desværre ikke nogen haj til VBA kode. Har forsøgt men uden held.
Supertekst nævner selv i tråden, om det er nødvendigt, at den skal rette i sidehoved også, men brugeren der har oprettet trådent har ikke brug for dette. Det har jeg tilgengæld...
Faktisk både og. Altså både i selve dokumentet og i dens sidehoved.

Håber en kan hjælpe med at tweeke denne kode.
Dim xDoc
Sub AutoOpen()                                  'Vælg hvilke drev/mappe
Dim aktuelleSti
    aktuelleSti = valgAfSti
    If aktuelleSti <> "" Then
        findFiler aktuelleSti
       
        MsgBox ("Søg&Erstat på stien: " + aktuelleSti + " er udført")
    Else
        MsgBox ("Sti er ikke valgt")
    End If
End Sub
Private Function valgAfSti()
Dim doksti
    filNavn = ""
    On Error GoTo fejl1
   
    With Dialogs(wdDialogFileOpen)
        .Name = "*.doc"
        .Display
        valgAfSti = CurDir
       
        If Right(valgAfSti, 1) <> "\" Then
            valgAfSti = valgAfSti + "\"
        End If
    End With
         
    Exit Function
   
fejl1:
    valgAfSti = ""
End Function
Private Sub findFiler(aktuelleMappe)
Dim fs, f, f1, fc
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(aktuelleMappe)
    Set fc = f.Files

Rem Check de enkelte filer i valgte drev/mappe
    For Each f1 In fc
        If Right(LCase(f1.Name), 4) = ".doc" Then
            udførSøgErstat aktuelleMappe + f1.Name
        End If
    Next
End Sub
Private Sub udførSøgErstat(docFil)
    Set xDoc = CreateObject("Word.Application")
    With xDoc
        .Documents.Open FileName:=docFil
    End With

Rem Gentages det nødvendige antal gange
    søgErstat "gl. adresse", "Ny adresse"        '<----------------------
    søgErstat "gl. postnr", "Nyt postnr"          '<----------------------
   
    If xDoc.ActiveDocument.Saved = False Then
        xDoc.ActiveDocument.Save
    End If
   
    xDoc.Application.Quit
    Set xDoc = Nothing
End Sub
Private Sub søgErstat(søg, erstat)
    With xDoc
        Set myRange = .ActiveDocument.Range(Start:=0, End:=0)
        Selection.HomeKey Unit:=wdStory
        Selection.Find.Replacement.ClearFormatting
        With .Selection.Find
            .Text = søg
            .Replacement.Text = erstat
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchControl = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        .Selection.Find.Execute Replace:=wdReplaceAll
    End With
End Sub
Avatar billede supertekst Ekspert
14. december 2017 - 14:35 #1
Hej - det er snart 10 år siden - så det kunne jo være at det kunne gøres på en anden måde - hvem ved..
Avatar billede Gaedt Novice
14. december 2017 - 15:02 #2
Hej supertekst
Det kan du selvfølgelig have ret i :-) Men når det nu næsten virker, så kan det jo være man bare kunne tweeke det lidt.
Jeg arbejder i blodbankerne i region Midt og VBA er desværre ikke noget man prioriterer så højt.
Kunne ellers lette en del.

Jeg tager meget gerne imod et bud på løsning hvis du har mod på det.

Mange hilsner
Henrik
Avatar billede supertekst Ekspert
14. december 2017 - 15:11 #3
Jeg skal gerne forsøge.
PS: Var også bloddonor i mange år - nåede op på 49 x - men der er stadig noget tilbage :-)
Avatar billede Gaedt Novice
14. december 2017 - 15:37 #4
Det ville være en stor hjælp.
Og tak for din interesse for bloddonorsagen :-)
Avatar billede supertekst Ekspert
14. december 2017 - 17:53 #5
Ville det være muligt at få en par dokumenter til test i såvel "før-" som "efter-udgave" Hvis du meddeler dig via: www.supertekst-it.dk | Kontakt - så svarer jeg og du kan sende nævnte filer.
Avatar billede Gaedt Novice
15. december 2017 - 14:01 #6
Supertekst hjalp mig med en lidt mere moderne løsning på mit problem.

Fantastisk :-)

Tusind tak Supertekst.
Avatar billede supertekst Ekspert
15. december 2017 - 14:20 #7
Selv tak - en fornøjelse..
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

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