Gegevens bookmark opnieuw gebruiken

Status
Niet open voor verdere reacties.

tomtector

Gebruiker
Lid geworden
27 mrt 2004
Berichten
10
Hallo,

Ik ben bezig met een Word document die bookmark velden bevat die a.d.h.v. een userform (Visual Basic) ingevuld worden. Dit gaat allemaal prima, de ingevulde gegevens worden na op OK drukken toegevoegd aan het document. Echter wat ik niet werkend krijg is dat als je het userform opnieuw opent om wijzigingen in de tekst aan te brengen dat de eerder ingevulde tekst dan al ingevuld staat (soort van GET) de tekst wordt dan natuurlijk overschreven.

Is dit mogelijk met bookmarks, of is dit probleem op te lossen met een vb code die de tekst van de bookmarks inlaadt voordat het userform geopend wordt? (of met heel iets anders?)

Ik ben benieuwd hoe het nu moet, want het lijkt mij wel mogelijk in Word 2007.
 
Omarmende bladwijzers

Het is mogelijk.

Ik weet even niet de complete code uit mijn hoofd, misschien dat iemand je daar mee kan helpen.

Maar dit is ongeveer de manier om het te doen:

Elke veld dat je laat invullen met een stukje tekst moet je wanneer het is het in je document staat laten omarmen met een bladwijzer.

Nu ziet het er zou uit
bladwijzer: stukje tekst

maar het moet dus uiteindelijk erzo uit zien
bladwijzer stukje tekst bladwijzer. (bladwijzer een logische naam)

En dan kan je via een stukje vba de gevens van de omarmende bladwijzer weer inladen in je userform.

Zal eens kijken of ik nog van het weekend een voorbeeld kan maken.
 
Gelukt

Hierbij stuur ik je een sjabloon als voorbeeld.

Hiermee kan je misschien je eigen sjabloon aanpassen.

Zoniet geef maar een seintje.

Dit is wel gemaakt in Office2003 maar dat maakt volgens mij niet uit.
 
Laatst bewerkt:
Hey, het is dus wel mogelijk! ;)

Dit was precies wat ik bedoelde, ik zal het gaan implementeren in mijn template.
Kramer, hartelijk dank voor je tijd en de genomen moeite. :thumb:
 
Vragen

Mocht je nog vragen hebben dan hoor ik het wel.

Anders klik ff op vraag opgelost
 
Knop gegevens wijzigen

Ik heb eerst een module gemaakt waar dit dit in staat

Code:
Sub VulUserform()

UserForm1.TxtAan.Value = ActiveDocument.Bookmarks("BwAan").Range.Text
UserForm1.TxtVan.Value = ActiveDocument.Bookmarks("BwVan").Range.Text
UserForm1.TxtDatum.Value = ActiveDocument.Bookmarks("BwDatum").Range.Text
UserForm1.TxtOnderwerp.Value = ActiveDocument.Bookmarks("BwOnderwerp").Range.Text

UserForm1.Show
End Sub

Daarna heb ik een nieuwe werkbalk gemaakt en daar heb ik dit stukje code opgeplaatst.

Mocht je nog vragen hebben dan hoor ik het wel
 
Hi Kramer,

Bedankt!
Ik heb nog geen tijd gehad om het te proberen (ga ik morgen doen), mocht ik nog vragen hebben dan hoor je zeker van me!
 
Mocht je geïnteresseerd zijn in een andere benadering: zelf maak ik graag gebruik van BuiltInProperties, en UserDefinedProperties om vaste gegevens in op te slaan.
Je kunt hier prima naar verwijzen op andere plaatsen in je document, en omdat je ze opslaat in het document, op alle (werk)plekken te gebruiken, en gebruikers kunnen ze veel minder makkelijk weggooien dan Bookmarks. Wat toch een risico is.... (Leer ons de gebruiker kennen :) )

Michel
 
voorbeeld

Mocht je geïnteresseerd zijn in een andere benadering: zelf maak ik graag gebruik van BuiltInProperties, en UserDefinedProperties om vaste gegevens in op te slaan.
Je kunt hier prima naar verwijzen op andere plaatsen in je document, en omdat je ze opslaat in het document, op alle (werk)plekken te gebruiken, en gebruikers kunnen ze veel minder makkelijk weggooien dan Bookmarks. Wat toch een risico is.... (Leer ons de gebruiker kennen :) )

Michel

Kan je hier een voorbeeld plaatsen. Ik ben altijd nieuwsgierig om iets te leren waardoor de gebruiker niet alles om zeep helpt
 
thuis

Zal vanavond thuis eens kijken. Hier (werk) krijg ik een melding dat ik nog iets moet installeren of dat er iets niet is geïnstalleerd.

Iets met het programma console. zie bijlage.
 
Laatst bewerkt:
Dat klopt, die foutmelding heb ik ingebouwd. Dat programma heb je verder ook niet nodig om de sjabloon te laten werken. Als je hem opent, heb je twee menu-items, de ene is voor Console, wat je uiteraard niet hebt, en de tweede opent een invulformulier dat gegevens wegzet in de Properties.
Volgens mij moet je hem verder gewoon kunnen bekijken, ik heb hem thuis ook werkend zonder Console.

Michel
 
Maar ik krijg meteen, bij het openen de melding kan een object niet laden omdat het niet beschikbaar is op de machine. En hierdoor wordt meteen alles geblokkeerd.

Maar ik kijk thuis wel even.
 
Zal wel een bibliotheekje zijn....

Michel
 
Denk dat het meer is

Ik denk dat het meer is als alleen een dll bestandje.

Wanneer ik hem met oplaat starten krijg ik al een foutmelding. Zie bijlage. Welke versie is dit eigenlijk voor 2003 of hoger.
 
Die kende ik nog niet....
De sjabloon is gemaakt in 2000, dus je verwacht er eigenlijk geen probleem mee. Bij mij werkt hij in ieder geval in 2003. In 2007 heb ik hem nog niet geprobeerd.

Michel
 
zelf de meest simpele dingen doet hij dan niet meer.

zelf zoiets simpel als dit snap hij ineens niet meer:

Code:
tbDatum.Text = Format(Date, "dd-mm-yyyy")

Dan zegt hij dat hij Date niet kent.

Zal eens op mijn gemak alles nakijken
 
Ik wacht met spanning

He Kramer,

Ik ook, er kwam zoveel tussendoor, ik ga er nu kaas van proberen te maken, excuses voor de lange afwezigheid.

Ja, het is gelukt, maar... er staat nu een werkbalk met een knop 'project.module1.vulUserform'
bovendien had ik puur en alleen bookmarks geplaatst en dus iedere keer als ik gegevens wil veranderen voegt hij ze toe aan het reeds bestaande...
Moet ik dan eerst een formulierveld maken en daarna een bookmark aangeven?
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan