macro maken in Word

Status
Niet open voor verdere reacties.

astra

Gebruiker
Lid geworden
28 jul 2003
Berichten
127
Hallo,

Ik heb een document van 132 pagina's.
Vooraan begint een zin opgemaakt in het vet.
Achter die zin volgt de definitie in tekst zonder opmaak.

Voorbeeld:
Dit is de zin in het vet Dit is de definitie zonder opmaak

Nu zou ik achter iedere zin in het vet een dubbel punt willen zetten.
De zinnen zijn verschillend in lengte.
Kan dit via een macro?
Zo ja, kan iemand me hierbij helpen hoe ik dat moet doen?

Daarna wordt het document overgebracht naar Excel om de zinnen in het vet te splitsen van de definitie.
Dat is dan ook de reden waarom ik een dubbel punt wil inlassen vermits men een bepaald teken nodig heeft om op te splitsen.


Met veel dank bij voorbaat
Astra
 
Zo'n macro is misschien nog wel te maken, maar je geeft nog wat weinig informatie. Zo zal de macro, als je hem rücksichtlos uitvoert, achter elke vette tekst een dubbele punt zetten als je niet uitkijkt. Ik weet niet of dat de bedoeling is? En als het je bedoeling is om de zinnen te splitsen, waarom haal je het document dan over naar Excel en doe je dat niet gelijk in Word? Excel is echt niet beter in tekstmanipulatie dan Word!
 
Beste Octafish,

Het is inderdaad de bedoeling dat achter elke zin in vette tekst een dubbel punt wordt gezet.
Maar het is natuurlijk niet de bedoeling dat achter elk woord van die zin een dubbel punt wordt gezet.
Is het misschien dat wat je bedoelde met "achter elke vette tekst"?

In Excel wordt de vette tekst gesplitst van de gewone tekst via Gegevens > Tekst naar kolommen en kan ik in het vakje "Overige" een dubbel punt zetten waarop gesplitst moet worden.
Ik weet echt niet hoe men dit kan doen in Word.

Groetjes en bedankt voor je vlugge reactie,
Astra
 
Kun je misschien een realistisch voorbeeldje posten? Ik snap nog niet helemaal hoe je een 'zin' definieert; in je voorbeeldje in bericht #1 gebruik je bijvoorbeeld wel vet, maar geen punt. En dat is wel belangrijk om te weten. Verder is het belangrijk om te weten of elke alinea altijd begint met een vette zin, en één (of meer) vervolgzinnen, of dat je daar ook onderscheid in maakt. En wat er dan vervolgens moet gebeuren met de alinea's waar géén vette zin in zit.
 
Beste Octafish,

Hierbij een klein uittreksel van het document.
Het gaat hier over gezegden in het dialect van onze streek en is opgemaakt geweest door een medewerker van onze Heemkundige Kring.
De gezegden in het dialect staan dus in het vet en daarna de uitleg in "begrijpelijke" taal :)
Men heeft me nu gevraagd dit op te splitsen in 2 kolommen. Dus het vet gedeelte apart van het gedeelte in gewone tekst.

Zoals je kan zien staan er soms punten en komma's maar niet overal.

Ik hoop dat het wat klaarheid brengt.

G]roetjes,
Astra

Bekijk bijlage Dialect-Gezegden.docx
 
Ik heb in ieder geval een macro voor je waarmee je de vette tekst kunt scheiden met een tabje zodat je de tekst daarna simpel in een tabel kan zetten.
Code:
Sub ConvertToTable()
Dim iP As Integer
    Do While True
        With Selection
            With .Find
                .ClearFormatting
                .Font.Bold = True
                .Forward = True
                .Wrap = wdFindStop
                .Format = True
                .MatchCase = False
                .Execute
                If Not .Found Then
                    Exit Do
                End If
            End With
            .Cut
            .TypeText Text:=vbTab
            .MoveLeft Unit:=wdCharacter, Count:=1
            .PasteAndFormat (wdFormatOriginalFormatting)
        End With
    Loop
    
    With Selection
        .WholeStory
        iP = .Paragraphs.Count
        .ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=2, NumRows:=iP, AutoFitBehavior:=wdAutoFitFixed
        With .Tables(1)
            .Style = "Tabelraster"
            .ApplyStyleHeadingRows = True
            .ApplyStyleLastRow = False
            .ApplyStyleFirstColumn = True
            .ApplyStyleLastColumn = False
        End With
        .Borders(wdBorderTop).LineStyle = wdLineStyleNone
        .Borders(wdBorderLeft).LineStyle = wdLineStyleNone
        .Borders(wdBorderBottom).LineStyle = wdLineStyleNone
        .Borders(wdBorderRight).LineStyle = wdLineStyleNone
        .Borders(wdBorderHorizontal).LineStyle = wdLineStyleNone
        .Borders(wdBorderVertical).LineStyle = wdLineStyleNone
        .Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone
        .Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone
        .MoveLeft Unit:=wdCharacter, Count:=1
    End With
End Sub
 
WOW!!!
Werkt perfect!!!
Chapeau!!!

Heel hartelijk bedankt Octafish!
You've made my day :)

Astra
 
Beste Octafish,

Er doet zich iets heel eigenaardigs voor.
Je ziet in bijlage (Dialect-Gezegden) het document waar ik de macro op uitgetest heb.
Alles verliep pico bello.

Nu wil ik dit toepassen op mijn origineel document maar tot mijn grote verbazing wordt er niet meer gesplitst.
Ik dacht dat 132 pagina's misschien teveel was en heb het geprobeerd op 1 enkel blad (zie bijlage Dialect-Gezegden (2))
Maar dat ging ook niet.

Wat loopt er mis???

Bekijk bijlage Dialect-Gezegden.docx
Bekijk bijlage Dialect-Gezegden (2).docx
 
Ik zal er morgen even naar kijken. Is nu te laat :).
 
Hallo Octafish,

Heb je al tijd gehad om naar de macro te kijken?
Als je de macro zou kunnen aanpassen zodat er een dubbel punt : achter de tekst in het vet wordt gezet zou ik al goed geholpen zijn.
Het is dus niet nodig om te splitsen, dat kan ik dan wel doen in Excel.

Groetjes,
Astra
 
Nou, ik snap eerlijk gezegd je probleem niet. Je hebt nu twee documentjes bijgevoegd die allebij in een tabel zijn geconverteerd. Daarvan is Dialect-Gezegden (2).docx verkeerd gegaan (blijkbaar, of je hebt wat anders gedaan) en Dialect-Gezegden.docx toch goed is? Dus wat gaat er dan niet goed?
 
Beste OctaFish,

In het 1e doc. Dialect-Gezegden.docx ging alles goed.
In het 2e doc. Dialect-Gezegden(2).docx deed ik juist hetzelfde, dus zelfde macro, als in het 1e doc. maar dat ging fout.

Mag ik je vragen of je dit ook eens wilt uittesten op een pagina van mijn origineel doc. dat ik in bijlage toevoeg.

Alvast bedankt voor je moeite.

Astra

Bekijk bijlage Dialect-Gezegden (3).docx
 
Je probleem (als je tenminste hetzelfde probleem hebt als ik (begint in de zin "'a Aavet staun dadden da nie gedaun eit". Je ziet het in eerste instantie niet, maar die zin bestaat uit twee blokken met vette tekst. En dat wordt veroorzaakt door de spatie tussen "dadden" en "da": die spatie is niet vet! En de macro gaat er vanuit dat het hele tekstblok vet is. Nu ontstaat er een loop die tussen de twee vette blokken een oneindige hoeveelheid tabs zet, wat uiteraard niet de bedoeling is. Wat daar aan te doen is? Niet heel veel, vrees ik: handmatig de tekst nalopen (met de knop Weergeven/verbergen aan) en fysiek kijken of er spaties zijn die niet vet zijn. Die zijn herkenbaar aan het feit dat ze wat dunner zijn dan de vette spaties.
Om het je gemakkelijk te maken, kun je met Zoeken en vervangen de klus enigszins vereenvoudigen. Je kunt bijvoorbeeld alle vette tekst wit (of lichtgrijs) maken en vet rood onderstrepen. Als het goed is, zie je dan in de witte of grijze tekst een aantal witte spaties opdoemen. Die moet je dan dus dezelfde opmaak geven als de tekst die je bij elkaar wilt hebben. Dat kan dan weer prima met de kwast <Opmaak kopiëren>. Daarmee heb je hopelijk niet teveel werk :).
Er zijn dan meer tekstblokken die niet goed zijn opgemaakt, dus je hebt nog wel wat te corrigeren.
 
Beste OctaFish,

Wat een geluk dat we jou hier hebben!:thumb:
Inderdaad, bij mij was dit hetzelfde probleem.
Dat het iets te maken had met die spaties die niet in het vet stonden, daar had geen haar op mijn hoofd aan gedacht.
Maar al bij al viel het nog mee en ging het tamelijk vlug dankzij je raad ivm "Zoeken en vervangen".
De macro werkt nu wel prima!

In het vervolg zal ik de persoon die het document heeft opgemaakt er attent op maken dat hij best eerst eens vraagt hoe hij met Word moet omgaan.
En nu de volgende documenten behandelen want er zijn er zo nog vele...

Mijn dank is groot!:)
Nog een heel fijne avond.
Astra
 
Wat een geluk dat we jou hier hebben!:thumb:
Ik weet nog wel een paar namen hier die het daar totaal niet mee eens zijn :). Maar het is een feit dat mensen raar omgaan met tekstverwerkers; ik kom de gekste dingen tegen! Voordeel daarvan is dan wel, dat je sneller geneigd bent om naar 'onmogelijke' handelingen te zoeken van gebruikers. En die blijken dan heel aparte werkwijzen te kunnen gebruiken :D.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan