Avatar billede marzman Nybegynder
13. oktober 2009 - 13:40 Der er 8 kommentarer

Checkbox styret af bookmark

Hej Eksperter...

Jeg sidder og programmere til et system hvor vi bruger en StoredProcedure til at hente data og indsætte det i et word dokument via xml bookmarks.

Jeg har nu brug for at benytte checkboxe, men kan ikke får den til at assigne dem ved at sætte et bookmark under properites -> bookmark for en checkbox.

Standard hedder boxen "Check1" hvilket jeg har lade være.
Jeg kan godt indsætte data i dette bookmark, men hvis jeg prøver med x eller true så indsætte den bare denne tekst i stedet for at lave den til en checked checkbox.

Nogle der ved om dette overhoved er muligt eller man kun kan styre disse checkboxe fra en makro?

Hilsen marzman
Avatar billede supertekst Ekspert
13. oktober 2009 - 14:42 #1
Eks.: Ved anvendelse af formularfelter:

Private Sub testCB()
    ActiveDocument.FormFields("Kontrol1").CheckBox.Value = True
End Sub
Avatar billede marzman Nybegynder
13. oktober 2009 - 14:44 #2
Og dermed skal du anvende Macro ?
Avatar billede supertekst Ekspert
13. oktober 2009 - 14:50 #3
Ja - eksemplet vil sætte kryds i afkrydsningsfeltet(i min kode kaldet "Kontrol1")


Er ikke helt med på hvad du herudover søger??
Avatar billede marzman Nybegynder
13. oktober 2009 - 14:56 #4
Jeg søger en løsning så jeg kan sætte en checkbox aktiv ud fra min værdi i mit bookmark...
Så hvis jeg eks sætter min Check1="True" vil den være checked og =false vil den være unchecked... Tror bare ikke det fungerer på den måde desværre...
Avatar billede supertekst Ekspert
13. oktober 2009 - 15:06 #5
Ok - hvillken form for kontrols anvender du?
Avatar billede marzman Nybegynder
13. oktober 2009 - 15:09 #6
kontrols?

Jeg anvender en xml fil som kodes sammen med word dokumentet...

Denne her Xml fil kan så indsætte data i de bookmarks der er lavet i dot dokumentet.
Avatar billede supertekst Ekspert
13. oktober 2009 - 15:14 #7
Ok - jeg kan vist ikke bidrage mere..
Avatar billede Lene Fredborg Ekspert
13. oktober 2009 - 16:17 #8
Da du skriver, at dit bogmærke som standard har fået navnet "Check1", tyder det på, at du har indsat et formularfelt. Formularfelter er beregnet til brug i egentlige formularer og forudsætter i almindelighed, at dokumentet er beskyttet som formular.

Det kan lade sig gøre uden brug af makroer at få en checkbox til at optræde som tjekket eller ikke tjekket afhængigt af værdien af et bogmærke, hvis du i Word-dokumentet indsætter en felt-konstruktion som beskrevet nedenfor (her beskrevet ud fra, at feltet oprettes manuelt - kan også gøres via programmering):

1. Find to tegn, der kan gøre det ud for en tjekket og en ikke tjekket boks, f.eks. Wingdings 254 og 168.
2. Klik der hvor boksen skal være i dokument og opret en felt-konstruktion, der ser sådan ud:

{ IF { "Check1" }= "Ja" "[tegnet med den udfyldte boks]" "[tegnet med den tomme boks]" }

VIGTIGT: Feltklammerne "{  }" skal laves ved at taste F9 - kan ikke skrives almindeligt. Bemærk at der er to felter inden i hinanden.

I stedet for teksten "[tegnet med…]" skal de rigtige checkboks-tegn indsættes (kan desværre ikke vises her…).

Feltkonstruktionen virker sådan: Hvis bogmærket med navnet "Check1" indeholder teksten "Ja", vil det første tegn, der følger lige efter "Ja" blive vist i feltet. Ellers vil det andet tegn blive vist - dvs. at det andet tegn bliver vist ved alle andre værdier i bogmærket end "Ja". Hvis du benytter en anden værdi end "Ja" i bogmærket til at fortælle, at checkboksen skal se tjekket ud, skal du rette tilsvarende i feltkoden.

Feltet skal opdateres for at vise ændringer: marker feltet (eller hele dokumentet) - tast F9. Eller opdater via koden.
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
Kategori
Tag et kursus i Word og øg effektiviteten

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