24. november 2011 - 00:26Der er
5 kommentarer og 1 løsning
Word 2007: Formulartekstfelter skal være usynlige, når de ikke er fyldte
Hej Eksperter
Når jeg i MS Office Word 2007 opretter formularfelter (i "Udvikler"-fanen ved brug af ikonerne i "Kontrolelementer"-gruppen på simpleste vis), så kan jeg indsætte tekstfelter, som brugeren selv kan udfylde. Som standard står der fx "Skriv noget her" i dette felt med grå skrift.
Så låser jeg dokumentet, gemmer det som skabelon og opretter et dokument fra skabelonen, hvor disse tekstfelter er klar til at blive udfyldt. Jeg udfylder felterne, og standardteksten "Skriv noget her" bliver erstattet af min indtastning. Det er fint.
Men hvis jeg nu bare lader feltet stå tomt, så vil denne standardtekst "Skriv noget her" blive ved at være synlig - OGSÅ på udskrift, hvilket absolut ikke er smart. Det skal rettes, så standardteksten kun er der for at fortælle brugeren, hvad han skal gøre. Det skal være usynligt, så snart vi ikke længere redigerer - dvs. i udskrift og udgivelser. Men hvordan?
Det er fristende at spare tid med lækre internetapps og GenAI. Men pas på. Uautoriseret brug risikerer at underminere hele forretningsgevinsten.
Slettet bruger
24. november 2011 - 00:29#1
Alternativt kan bruges en simpel afkrydsningsboks, så brugeren selv kan krydse af, om han overhovedet gider udfylde dette felt eller ej. Så skal feltet simpelthen være fjernet, hvis fluebenet i afkrydsningen fjernes (afkrydsningsboksen skal naturligvis heller ikke være synlig på siden). Men hvordan?
Jeg tror ikke, du har mulighed for at gøre det, du ønsker, uden at der er programmering involveret i det. Det gælder uanset løsningen.
Pladsholderteksten i kontrolelementer er formateret med en typografi, som i engelsk version hedder "Placeholder Text" og i dansk version "Pladsholdertekst".
Du kan ændre denne typografi, så teksten er skjult, men det dur jo ikke, da brugeren så heller ikke kan se dine "hjælpetekster" med mindre han/hun har slået visning af skjult tekst til. Alternativt kan teksten ændres til hvid skrift (eller den farve, som baggrunden er, hvis det ikke er hvid). Men det giver samme problem.
Jeg ved ikke, hvem der skal kunne bruge din skabelon. Hvis det er brugere, du kan styre, kan der laves en makro, som ændrer Pladsholdertekst-typografien til skjult eller hvid tekst. Hvorvidt skjult tekst udskrives og/eller vises, afhænger af den enkelte brugers Word-indstillinger, så derfor er det mere sikkert at bruge hvid tekst. En sådan makro kan evt. tilknyttes en knap i værktøjslinjen Hurtig adgang, eller den kan knyttes til et felt af typen MacroButton i selve skabelonen.
Men afviklingen af makroer har sikkerhedsaspekter involveret, og hvis det er "fremmede" brugere, kan du ikke tvinge dem til at tillade makroer.
Jeg har lavet nedenstående makro, som skifter farve på typografien mellem hvid og sort (du kan ændre sort til en anden farve, hvis du ønsker det):
Sub ContentControls_TogglePlaceholderText_WhiteBlack() With ActiveDocument If .ContentControls.Count > 0 Then 'Style Placeholder Text has no built-in VBA name but ID is -157 'By using number instead of fixed text, the macro will work in all different language 'versions of Word With .Styles(-157).Font If .Color <> wdColorWhite Then .Color = wdColorWhite Else 'Replace color below with the "visible" color to be used .Color = wdColorAutomatic End If End With End If End With End Sub
Hvis makroen gemmes i skabelonen, skal brugerne altid have adgang til skabelonen for at kunne benytte makroen. Hvis du i stedet for gemmer som dokument og gemmer makroen i selve dokumentet, så brugerne får en kopi af dokumentet, vil makroen være deri.
Synes godt om
Slettet bruger
25. november 2011 - 14:56#3
Tak for svar. Læg venligst et svar til point. Vil brugeren i så fald få en besked om, at de skal slå makroer til først? Jeg ville helst udenom makroer, da jeg har oplevet, at det bliver blokeret ved anderledes sikkerhedsindstillinger - eller at der blot kommer advarsler, så brugeren slår det fra.
Du kan ikke sikre dig, hvad brugeren ser. Brugeren kan f.eks. have indstillet alle makroer til at blive blokeret uden advarsel, og så ser han/hun ikke noget. Hvis indstillingen f.eks. er sat til at vise advarsel ved makroer, kan du sørge for, at brugeren er informeret om at tillade makroer i dit dokument - men du kan ikke vide, om brugeren følger opfordringen.
En anden ting, du skal være opmærksom på, hvis du ikke ved noget om brugerene: Hvis brugeren har en version af Word tidligere end Word 2007, kan kontrolelementer ikke bruges - de er først understøttet fra Word 2007.
Synes godt om
Slettet bruger
25. november 2011 - 18:41#5
Tak for et grundigt og givdigt svar! Det er muligt, at mit ønske ikke kan opfyldes, men jeg ved nu præcis, hvad der skal arbejdes videre med. Tusind tak.
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.