Selectie tussen dubbele aanhalingstekens plaatsen

Status
Niet open voor verdere reacties.

Symphysodon

Gebruiker
Lid geworden
14 dec 2012
Berichten
468
Beste forummers,
Is het mogelijk in VBA een code te maken die een geselecteerd woord tussen aanhalingstekens plaatst? Ik heb het op net nog niet zo gauw kunnen vinden.
Alvast bedankt.
mvg
Marco
 
Neem er een macro voor op, dan krijg je dit:
Code:
Sub Macro1()
    Selection.Copy
    Selection.TypeText Text:=""""
    Selection.PasteAndFormat (wdFormatOriginalFormatting)
    Selection.TypeText Text:=""""
End Sub
 
Ik had niet gauw gezien hoe ik hiermee de recorder kon gebruiken.

Het werkt niet helemaal goed: de pasteandformat zet een spatie voor het geselecteerde woord.
 
Ik denk eerder dat dat door de copybuffer komt.
Geen idee hoe dat op te lossen.
Misschien iemand hier die echt Word kent ;)
 
Deze macro werkt zowel met een selectie (meerdere woorden) als met een niet-geslecteerd woord waar de cursor dan in staat.
Code:
Sub mcrWoordKwoots()
Dim tekst As String
Const kwoot As String = """"
    With Selection
        If .Type = 1 Then
            .Extend
            .Extend
            .MoveLeft Unit:=wdCharacter, Count:=1
            tekst = .Range.Text
            .Cut
            tekst = kwoot & Trim(tekst) & kwoot & " "
            .TypeText Text:=tekst
        ElseIf .Type = 2 Then
            tekst = .Range.Text
            .Cut
            tekst = kwoot & Trim(tekst) & kwoot & " "
            .TypeText Text:=tekst
        End If
    End With
End Sub
 
Vreemd, bij woorden aan het eind van een zin wordt de laatste quote voor de laatste letter geplaatst en bij selectie van een woord, wordt de spatie voor het geselecteerde woord verwijderd.
 
Werkt goed.

Dank je wel.

edmoor bedankt.

Graag gedaan, maar de oplossing kwam van Octafish ;)

Die heeft voor je laatste opmerking denk ik ook wel een oplossing.
 
Ik heb de macro getest, en kwam het spatie probleem niet tegen. Wellicht een kwestie van instellingen? Slim knippen en plakken bijvoorbeeld is zo’n instelling die met spaties rommelt als je iets weghaalt. Gaat vaak goed trouwens als je het handmatig doet, maar soms wat minder met macro’s :).
 
Ik heb de instellingen getest, maar het werkt bij mij nog niet. Het gaat om woorden voorafgaand of aansluitend met een leesteken. bijvoorebeeld een zin: ... bepaald. wordt dan

.. 'bepaal' d.
 
Ik kan het niet reproduceren; bij mij werkt het in alle omstandigheden prima. Dat moet dan toch iets met je instellingen te maken hebben.
 
Plaats anders een voorbeeldje van je instellingen, dan kunnen we zien of het daar aan ligt. Ik zal vanavond hetzelfde doen met de (bij mij dus prima werkende) instellingen.
 
Ik zie dat je de optie <Slim knippen en plakken> niet gebruikt. Dat doe ik wel. Ik vind het wel grappig dat je het aantal recente documenten op 50 hebt staan (vind ik behoorlijk hoog; ik zet 'm nooit hoger dan 23 zodat ik geen scrollbar nodig heb) en de optie <Snelle toegang> op 4. Die zet ik dan doorgaans rond de 20, want dat vind ik de makkelijkste manier om oudere bestanden te openen. Maar die opties hebben uiteraard geen invloed op het plakken. Kijk maar eens naar de instelling die jij uit hebt gezet.
 
<Recente documenten> kon niet hoger dan 50 :)
<Slim knippen en plakken> stond aan maar heb ik uitgezet om te testen of het daar aanlag.
 
En maakte dat verschil? Ik heb dus in twee verschillende Word omgevingen gewerkt, en in beiden gaat het goed. Vreemde zaak dus!
 
Vreemd. Ik heb het nogmaals getest nu met jou originele code en krijg hetzelfde resultaat.
Door op het woord gaan staan krijg ik: ...origineel "programm" a.
Met het woord geselecteerd krijg ik: ...origineel"programma" .
Als ik de laatste twee woorden selecteer krijg ik:..gewaarmerkt"origineel programma" .
Genoemde voorbeelden zijn met <Slim knippen en plakken> aangevinkt. Ik krijg hetzelfde resultaat zonder <Slim knippen en plakken>
 
Het is inderdaad heel vreemd; je zou bijna aan een Teamviewer sessie gaan denken, want dit is denk ik alleen op te lossen door letterlijk mee te kijken op de computer. Ik weet niet of andere helpers/meelezers dezelfde ervaring hebben met de macro (dat-ie het dus doet, of niet) want ik kan jouw probleem dus niet reproduceren. En dan is het bijzonder lastig om te kijken waarom het bij mij niet fout gaat :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan