15. februar 2012 - 09:22Der er
3 kommentarer og 1 løsning
Word - VBA - søg og erstat i markeret afsnit
Sidder og bøvler med at få Word til KUN at erstatte i markeret tekst. Hvis jeg bruger ".execute Replace:=wdReplaceAll" erstattes al efterfølgende tekst og anvendes ".execute Replace:=wdReplaceOne" er det kun det første afsnit i den valgte tekst !!
Er der gode ideer til hvordan får jeg afgrænset søg/erstat til de valgte afsnit ?
Sub RetTekst() ' MinTekst = Selection.Text MsgBox MinTekst ' vis den udvalgte tekst
With Selection.Find .ClearFormatting .Format = True .Font.Size = "12" With .Replacement .ClearFormatting .Font.Size = "9" End With .Execute FindText:="", ReplaceWith:="", Format:=True, _ Replace:=wdReplaceAll, Wrap:=wdFindStop End With
MinTekst = Selection.Text MsgBox MinTekst ' vis den udvalgte tekst igen
Hvad mener du med 'markeret tekst'? For hvis jeg markerer et afsnit eller to (dvs trækker henover med musen) så er det kun i disse hvor font size 12 ændres til 9; hvis jeg derimod blot stiller mig i et afsnit uden at markere, så erstattes der frem til slut af dokument...
Fremgangsmåden er som du beskriver, men i mit dokument ( Word 2010 ) erstattes fra det første markerede afsnit frem til slut af dokument - og hvis jeg ikke markerer, "opfattes" førstkommende tegn som "selection.text" og der erstattes til slut !!
Spøjst - det virker på de to pc'er jeg har prøvet på. Den sidste dog Word 2007, men jeg mener den anden har 2010.. Og det gør heller ingen forskel når jeg ændre i Word-indstillinger. Hmm, pas. :-)
Har desværre hverken selv eller med ovennævnte indlæg fået løst problemet og lukker hermed tråden
Synes godt om
Ny brugerNybegynder
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.