Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: macro in een lop steken  (gelezen 2360 keer)

0 leden en 1 gast bekijken dit topic.

Offline etienne

  • Lid
  • *
  • Berichten: 71
  • De Oplossing!
macro in een lop steken
« Gepost op: 22 december 2003, 14:57:53 »
Hallo,
 
Ik maakte de bijgaande macro in WORD om in een reeks identieke lijnen onnodige gegevens op te ruimen, maar zoals het nu is moet ik lijn per lijn de toetsencode ingeven om de macro uit te voeren.
Kan jij mij soms helpen met de nodige aanpassingen om deze opdracht te aten uitvoeren van het begin tot aan het einde van het te bewerken document ?
Bedankt voor de aandacht en de eventuele hulp.
 
Etienne
 
DE MACROTEKST IS :
 
Sub inhoudopruimen()

'

' inhoudopruimen Macro

' Macro opgenomen op 02/11/2003 door etienne waelkens

'

    Selection.Extend

    Selection.Find.ClearFormatting

    With Selection.Find

        .Text = ":"

        .Replacement.Text = ""

        .Forward = True

        .Wrap = wdFindContinue

        .Format = False

        .MatchCase = False

        .MatchWholeWord = False

        .MatchWildcards = False

        .MatchSoundsLike = False

        .MatchAllWordForms = False

    End With

    Selection.Find.Execute

    Selection.MoveRight Unit:=wdCharacter, Count:=3

    Selection.Delete Unit:=wdCharacter, Count:=1

    Selection.EndKey Unit:=wdLine

    Selection.MoveRight Unit:=wdCharacter, Count:=1

   

   

End Sub

 
 
windows XP Prof SP2E - 256 MB Ram 800 Mhz ADSL Skynet

Offline powerkite

  • Volledig lid
  • **
  • Berichten: 207
  • Oplossing.be
Re:macro in een lop steken
« Reactie #1 Gepost op: 27 december 2003, 15:45:33 »
In ben niet echt bezig met VBA in Word maar ik zou je misschien al een stapje in de richting kunnen zetten.
Je zou bv. de volgende code aan je macro kunnen toevoegen:

Selection.MoveDown Unit:=wdLine, Count:=1
Selection.HomeKey Unit:=wdLine

hiermee wordt er steeds naar een volgende regel gesprongen en de cursor wordt vooraan geplaatst.

Als je dan bv een andere macro schrijft waar je de loop in plaatst:

Sub Herhalen()
For i = 1 To 200
  inhoudopruimen
next

op de plaats van de 200 vul je het aantal regels in. Ik weet niet of je met VBA deze waarde kan opvragen, indien niet dan kan je een schatting maken van het aantal regels en deze iets te groot invullen. De code zal dan wel te dikwijls worden uitgevoerd maar de cursor blijft gewoon op het einde van het document staan
Win XP (pro) - Pentium - 2400Mhz - 512Mb - Hercules 9200se - ADSL - Office 2003 Pro

Offline etienne

  • Lid
  • *
  • Berichten: 71
  • De Oplossing!
Re:macro in een lop steken
« Reactie #2 Gepost op: 17 januari 2004, 16:55:02 »
Aan powerkite

ik volgde je voorstel in een zekere zin en met succes;
Nu ben ik nog op zoek naar de instructies om een paar zaken toe te voegen  :
1) een volgende teken selecteren
2) controleren of dit geselecteerd teken een paragraafteken is (ee, lege paragraaf)
3) indien dit zo is : de macro afsluiten
4) indien dit niet zo is de opruimbewerking verder zetten
tot punt 1, 2 en 3 bereikt is

Weet jij er raad mee ?

Alvast bedankt voor de aandacht (het is de enige op mijn vraag tot nog toe !)

Etienne
windows XP Prof SP2E - 256 MB Ram 800 Mhz ADSL Skynet

Offline powerkite

  • Volledig lid
  • **
  • Berichten: 207
  • Oplossing.be
Re:macro in een lop steken
« Reactie #3 Gepost op: 20 januari 2004, 10:45:35 »
Om het volgende item te selecteren:

deze code selecteert het volgende karakter:

Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend

de waarde van dit teken:
 a = Selection.Text

volgende code moet toegevoegd worden zodat de cursor voor het volgende teken wordt geplaatst (en de selectie wordt verwijderd)

Selection.MoveRight Unit:=wdCharacter, Count:=1

Ik ken niet het ascii karakter van het paragraafteken maar dit ken jij mss wel.

je kan dan een while-loop laten uitvoeren waarbij je zegt
while teken <> EindeParagraafTeken
Win XP (pro) - Pentium - 2400Mhz - 512Mb - Hercules 9200se - ADSL - Office 2003 Pro

 


www.combell.com