VBA, Word 2007, Tekst links van de Bladwijzer

Status
Niet open voor verdere reacties.

jackfish

Gebruiker
Lid geworden
10 sep 2010
Berichten
297
Ik heb een userform gemaakt met meerdere textboxen waarvan de tekst gepersonaliseerd moet worden. Als de tekst is aangepast geeft de gebruiker een vinkje en wordt de aangepaste tekst met behulp van eerste onderstaande code in het document gezet.
Private Sub test1_Click()
ActiveDocument.Bookmarks("Tekst1").Range.Text = TextboxTekst1.Text
End Sub

Als ik een spatie houd tussen de bladwijzers gaat dat goed maar geeft zo ok overbodige spaties dan handmatig moet verwijderen.

Even dacht ik de oplossing gevonden te hebben door met 1 bladwijzer te werken (zie onderstaande code). De logische (gestandaardiseerde) manier van invullen (van textvak a, b, c, enz.) maakt dat de eerste invoer achteraan komt te staan. Ofwel het tekstblok staat dan achterstevoren (enz. c, b, a).

Ik gebruik onderstaande code.
Private Sub Bladwijzer0()
ActiveDocument.Bookmarks.Add ("A")
ActiveDocument.Bookmarks.Add ("B")
ActiveDocument.Bookmarks.Add ("C")
End Sub

Ik begrijp dat de Bladwijzer de tekst genereert op basis van wat het eerst wordt aangeklikt. Is het mogelijk om de code niet rechts van de Blalwijzer te genereren maar juist naar links?

gr jackfish
 
Laatst bewerkt:
Beste mensen,

Ik heb het opgelost door wel bookmarks te gebruiken met een spatie ertussen. Nadien met een VBA-code (bij elkaar gesprokkeld) de bladwijzers verwijderd en vervolgens extra spaties laten verwijderen.
Sub bladwijzerverwijderen()
Dim bm As Bookmark
For Each bm In ActiveDocument.Bookmarks
bm.Delete
Next
End Sub

Sub dubbelespatiesverwijderen()
With Selection.Find
.Text = " "
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindContinue
End With
Do Until Selection.Find.Execute = False
Selection.Find.Execute Replace:=wdReplaceAll
Loop
End Sub

Gr jackfish
 
Laatst bewerkt:
gebruik geen bladwijzers, maar documentvariabelen (invoegen/veld/docvariable)


Code:
Private Sub test1_Click()
   ActiveDocument.Variables("Tekst1") = TextboxTekst1.Text
   Activedocument.fields.update.
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan