Avatar billede firstchoice Nybegynder
26. september 2003 - 12:15 Der er 2 kommentarer og
1 løsning

Makro til søg/erstat i 2 dokumenter

Jeg har 2 worddokumenter. Det ene med et alm tekstdokument det andet dokument indeholder en 2 kolonners tabel. Makroen skal læse teksten i første celle i kolonne 1 og søge i tekstdokumentet, og erstatte med indholdet i cellen i kolonne 2, derefter steppen en række ned og gentage proceduren indtil der ikke er flere rækker i tabellen
Avatar billede rvm Nybegynder
26. september 2003 - 13:20 #1
Hvilken version af Word arbejder du med?
Kan du sende de to dokumenter til mig, så jeg har lidt at teste med *S*
rvejemad@csc.com
Avatar billede firstchoice Nybegynder
27. september 2003 - 10:07 #2
hej rvm. Jeg arbejder med word2000.
Jeg vil prøve at finde et eksempel frem og sende den til dig.
Avatar billede rvm Nybegynder
30. september 2003 - 08:21 #3
Her er et forslag:

Sub Søg()

'Gemmer det aktive dokuments navn i en variabel, så det kan aktiveres løbende
FindDok = ActiveDocument.Name

'Åbner en dialogboks, så du kan pege på ordlistefilen
dlgAnswer = Dialogs(wdDialogFileOpen).Show

Application.ScreenUpdating = False

'Hvis dlgAnswer = -1 er der et åbent dokument
If (dlgAnswer = -1) Then
    'Gemmer det aktive dokuments navn i en variabel, så det kan aktiveres løbende
    ErstatDok = ActiveDocument.Name
   
    'Vælger hele dokumentets, så jeg kan få fat i tabellen
    Selection.WholeStory
    Selection.Tables(1).Select
   
    'Tæller rækker til loopet
    Antalrækker = Selection.Information(wdEndOfRangeRowNumber)
   
    'Sætter markøren i 1. celle med indholdet markeret
    Selection.MoveLeft Unit:=wdCharacter, Count:=1
    Selection.SelectCell
    Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
   
    For n = 1 To Antalrækker
        Find = Selection.Text
       
        Selection.MoveRight Unit:=wdCell
        Erstat = Selection.Text
       
        Documents(FindDok).Activate
           
        'Søger og erstatter
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = Find
            .Replacement.Text = Erstat
            .Forward = True
            .Wrap = wdFindContinue
        End With
        Selection.Find.Execute Replace:=wdReplaceAll

        Documents(ErstatDok).Activate
        Selection.MoveRight Unit:=wdCell
    Next
End If

Documents(ErstatDok).Close False

Application.ScreenUpdating = True

End Sub
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