Avatar billede ClausP Novice
31. oktober 2020 - 20:49 Der er 4 kommentarer og
1 løsning

Bookmarks og Userform

Hej. Jeg er i færd med at lave et word-dokument med en userform. Userform refererer til bookmarks i worddokumentet og det virker fint. I word-dokumentet har jeg indsat nogle krydsreferencer, da flere af de indsatte bookmarks skal gentages flere gange i dokumentet. Men når der indsættes tekst i mine  bookmarks, slettes selve bookmarken og krydsreferencen virker ikke.
Er det muligt at kopiere den indsatte tekst med andet end krydshenvisning eller kan man undgå at slette et bookmark?
På forhånd tak for hjælpen.
Avatar billede Lene Fredborg Ekspert
31. oktober 2020 - 22:32 #1
Se denne artikel: "Inserting text at a bookmark without deleting the bookmark", https://wordmvp.com/FAQs/MacrosVBA/InsertingTextAtBookmark.htm

I stedet for at bruge bookmarks og cross-references i den situation, du beskriver, kan jeg foreslå dig at bruge brugerdefinerede egenskaber (custom document properties) og indsætte DocProperty-felter i dokumentet, hvor du nu bruger bookmarks og cross-references. Se min artikel ”How properties and DocProperty fields work”, https://wordaddins.com/support/how-properties-and-docproperty-fields-work/.
Avatar billede ClausP Novice
01. november 2020 - 19:10 #2
Hej Lene. Tak for dit hurtige svar. Jeg har forsøgt mig med begge løsninger, men kan ikke få det til at virke. Jeg er ingen "haj" i VBA og er i tvivl hvor jeg skal indsætte de koder du henviser til. Skal jeg oprette et nyt module eller skal jeg indsætte i koden til min userform? Slutteligt skal koden også kaldes og det lykkedes mig heller ikke. Håber du kan hjælpe. På forhånd tak.
Avatar billede Lene Fredborg Ekspert
01. november 2020 - 20:53 #3
Du bliver nødt til at vise din VBA-kode, hvor du foretager dig noget med bookmarks. Det er ikke muligt at hjælpe med detaljer uden se koden.
Avatar billede ClausP Novice
02. november 2020 - 16:30 #4
Hej igen. Tak for tilbuddet. Det er rigtig pænt af dig. Det er lykkedes mig, at få det til at virke. Jeg indsatte en variabel, der indlæser den allerede indsatte bookmark. Derefter indsætter jeg teksten i den aktuelle bookmark og til sidst sætter jeg, fra variablen, bookmarken på ny.
Private Sub ToggleButton1_Click()
Dim bmks As Bookmarks
Dim BMRange As Range
Set bmks = ActiveDocument.Bookmarks
Set BMRange = ActiveDocument.Bookmarks("test").Range
BMRange.Text = Me.test1.Value
ActiveDocument.Bookmarks.Add "test", BMRange
End Sub

Det her virker for mig.
Tak for hjælpen.
Avatar billede Lene Fredborg Ekspert
02. november 2020 - 16:51 #5
Fint, at du fik det til at virke. Det, du har gjort er, hvad der er forklaret i den første artikel, jeg linkede til i #1.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester