16. februar 2009 - 14:34 Der er 5 kommentarer og
1 løsning

makro i word

Jeg har lavet en makro i word, der med "søg og erstat" erstatter nogle bestemte ord med samme ord med fed skrift.
Nu ville jeg imidlertid lave en lignende makro, der kunne gøre det samme, blot skal der erstattes med f. eks rød skrift i stedet for fed. Jeg kan ikke finde ud af at gøre det med makroværktøjet.
Kan man i stedet gøre det ved at redigere i det basicscript, der ligger "bagved" makroen?
Hvis det er tilfældet, hvad hedder komandoerne så.
Avatar billede kdasummer Nybegynder
16. februar 2009 - 15:51 #1
Det er næsten snyd at jeg bruger det her som svar, men jeg gør det alligevel :)

Du kan bruge denne makro der henter ordene der skal farves fra en liste:
Sub search_and_replace()
Dim myword
 
  Open ThisDocument.Path & "\words.txt" For Input As #1
  With Selection
    .HomeKey Unit:=wdStory
    With .Find
      .ClearFormatting
      .Forward = True
      .Wrap = wdFindContinue
      .Format = False
      .MatchCase = False
      .MatchWholeWord = False
      .MatchWildcards = False
      .MatchSoundsLike = False
      .MatchAllWordForms = False
      .Font.Color = wdColorAutomatic
      With .Replacement
        .ClearFormatting
        .Font.Color = RGB(255, 0, 0) '***changing to specific color?
      End With
      Do Until EOF(1)
        Line Input #1, myword
        myword = Split(myword, vbTab)
        If UBound(myword) = 1 Then
          .Text = myword(0)
          .Replacement.Text = myword(1)
          .Execute Replace:=wdReplaceAll
        End If
      Loop
    End With
  End With
 
  Close #1
End Sub

det er tyvstjålet fra http://www.experts-exchange.com/Microsoft/Applications/Q_24011688.html
16. februar 2009 - 18:09 #2
tak for svaret, men jeg ved intet om basic.
Skriver jeg listen over der ønskede ord ind i parentesen her

Sub search_and_replace()?

adskilt af . , eller hvad?

.Font.Color = RGB(255, 0, 0) '***changing to specific color?

i denne linie bestemmer man farven går jeg ud fra, men hvor kan jeg se hvilket tal, der giver hvilken farve

Jeg håber du forstår mine spørgsmål
hvordan giver jeg dig dine point som tak
Avatar billede kdasummer Nybegynder
17. februar 2009 - 08:30 #3
du får lige en udgave der egner sig lidt bedre, efter som den anden var lavet til at erstatte ordene med et andet.

Sub search_and_replace()
    Dim myword

  Open ThisDocument.Path & "\words.txt" For Input As #1
  With Selection
    .HomeKey Unit:=wdStory
    With .Find
      .ClearFormatting
      .Forward = True
      .Wrap = wdFindContinue
      .Format = False
      .MatchCase = False
      .MatchWholeWord = False
      .MatchWildcards = False
      .MatchSoundsLike = False
      .MatchAllWordForms = False
      .Font.Color = wdColorAutomatic
      With .Replacement
        .ClearFormatting
        .Font.Color = RGB(255, 0, 0) '***changing to specific color?
      End With
      Do Until EOF(1)
        Line Input #1, myword
        .Text = myword
        .Replacement.Text = myword
        .Execute Replace:=wdReplaceAll
      Loop
    End With
  End With

  Close #1
End Sub

------------------------------

For at få det til at virke gør du følgende:
* Gem dokumentet med aktive makroer i en mappe, hvorefter du i samme mappe gemmer en txt-fil kaldet "words.txt". words.txt indeholder alle de ord der skal søges efter og gøres røde adskilt med en ny linje for hvert ord.
* I Word-dokumentet markerer du den tekst der skal søges og erstattes i og derefter trykker du alt + F11 for at komme ind i VBA-editoren. Indsæt ovenstående kode. Gå tilbage i Word og tryk alt + F8. Vælg makroen "search_and_replace" og tryk på "Afspil".
17. februar 2009 - 16:02 #4
tusind tak for hjælpen
jeg kopierede bare

.Font.Color = RGB(255, 0, 0)

ind i det script jeg havde i stedet for det, der gav fed tekst, så var farven der

det eneste jeg vidste om basic var det jeg havde læst mig til da jeg for mange år siden prøvede lidt på en comodore 64, men det du sendte var tilstrækkeligt til at jeg kunne se, hvad det skulle ændres
TAK
Avatar billede kdasummer Nybegynder
17. februar 2009 - 16:11 #5
du har uddelt pointsne til dig selv, men det er så i orden, godt jeg kunne hjælpe :P
17. februar 2009 - 16:27 #6
det beklager jeg meget
hvordan gør jeg
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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