Avatar billede avminarm Juniormester
07. februar 2021 - 13:17 Der er 10 kommentarer og
1 løsning

Udfylde alternativer i word via excel el formular

Hej

Jeg har et stort word dokument (kontrakt) som jeg ofte bruger - hvergang den udfyldes er der nogle alternativer der skal vælges.

Jeg gad godt lave dette på en smartere måde så jeg kunne udfylde alle felterne f.eks. i en formular eller i et excel ark og så overføre felterne til kontrakten.

det er både lange afsnit og korte ja/nej felter

Hvordan gør jeg dette smartest?
Avatar billede claes57 Ekspert
07. februar 2021 - 13:57 #1
lav fx <navne> der, hvor der skal fyldes ud, gerne lidt sigende
hav et excel-ark med kolonne A med de samme navne, så en kort beskrivelse i kolonne B, og du udfylder kolonne C med de data, du skal bruge i den aktuelle kontrakt.
Resten kan måske gøre i en makro, men ellers
Marker tekst i kolonne C og i word laver du en søg/erstat på <navne> jf din kolonne A og sætter den kopierede tekst ind. Og så bare ned igennem excel, til alle rækker er kopieret ind.
Det er nok smart at have tekster i word omgivet med <> så søg/erstat kun finder dem, og ikke andre steder.
Avatar billede avminarm Juniormester
07. februar 2021 - 15:38 #2
Hej Claes57
Tak for dit input :-)
Jeg skal lige forstå det rigtigt

Jeg har eks. kolonner i et excel ark:
A--------------------B -------------------- C
Navn  ----- beskrivelse----------Ole Olsen
Titel  ----- beskrivelse---------- dataansvarlig
Ansvar --- beskrivelse---------- står for bla bla bla - lang sætning......
Adgang--- beskrivelse---------- niveau 1, niveau 2

Hvordan ved word at navn skal ind ved <navn> og titel ved <titel>

Med mindre jeg skal lave en søg og erstat på alle felter?
Avatar billede claes57 Ekspert
07. februar 2021 - 16:16 #3
kolonne A skriver du som fx <Navn> som det også står i Word.

Og så det med søg/erstat - søg på felt A, og erstat med felt C i Word
Excel er måske nemmere at håndtere, hvis du eksporterer det til semikolonsepareret fil, og lader Word-makro behandle den (du må så ikke bruge semikolon i Excel-felter)
Loop ovenstående 3 linjer til du har kørt alle linjer i den eksporterede fil igennem

Det kan måske give problemer, hvis du har linjeskift i felter i kolonne C
Muligvis overvej, om Navn kun skal stå første sted, og Initialer i resten af dok.
Avatar billede Lene Fredborg Ekspert
07. februar 2021 - 16:24 #4
Til en opgave som denne ville jeg bruge brugerdefinerede dokumentegenskaber og DocProperty-felter. Jeg har vist og forklaret (også i en video i artiklen) om DocPropterty-felter og dokumentegenskaber i følgende artikel: https://www.thedoctools.com/wordtips/gentage-tekst-i-word/. Lav en skabelon, hvori du indsætter DocProperty-felter alle relevante steder. Så kan du let tilpasse værdierne, når du opretter et nyt dokument.

Words indbyggede funktioner til håndtering af brugerdefinerede dokumentegenskaber noget ufleksibel at arbejde med. Jeg har udviklet en add-in til Word, som gør arbejdet med DocProperty-felter og brugerdefinerede egenskaber meget mere effektivt. Jeg har linket til denne add-in i artiklen.
Avatar billede claes57 Ekspert
07. februar 2021 - 16:51 #5
Godt, der kom en ekspert ind over... Add-in i Word er udover, hvad jeg kan. Tak!
Avatar billede avminarm Juniormester
07. februar 2021 - 17:07 #6
Hej Lene

Tak for input - men hvordan kan jeg håndtere at der nogen steder f.eks. er 3 valgmuligheder, som alle kan bestå af et længere tekstafsnit.
Avatar billede Lene Fredborg Ekspert
07. februar 2021 - 17:45 #7
Med makroer (VBA) kan det lade sig gøre at lave en løsning, som automatiserer det hele, men udvikling af en sådan løsning kræver en del erfaring.

Hvis det kun er dig selv, der skal udfylde kontrakten (sådan lyder det), så kan du vælge at gøre det ”lavpraktisk”: Indsæt de forskellige varianter af afsnit under hinanden og marker dem f.eks. med highlight i din skabelon, så du let kan se, hvor du skal tage stilling og slette noget. Det kan klares hurtigt på den måde, medmindre du har mange af sådanne valg, og det kræver ikke, at du sætter dig ind i en masse teknik.

Andre muligheder:
Gem varianterne af tekster som Autotekster og indsæt felter af typen Autotextlist, så du kan vælge den relevante tekst fra en drop-down-liste. Se f.eks. vejledning her (forklarer princippet, engelsk: https://wordmvp.com/FAQs/TblsFldsFms/AutoTextList.htm)

Du kan også gemme varianterne som Autotekster/Buildingblocks og indsætte drop-down lister som content controls (kontrolelementer) til indsættelse af teksterne. Se engelsk vejledning her: http://www.addbalance.com/usersguide/autotextautocorrect.htm#BBGalleryContentControl

På følgende side (engelsk) finder du mange links til info (inkl. linket lige ovenfor), som måske kan inspirere dig: http://www.addbalance.com/usersguide/autotextautocorrect.htm
Avatar billede Lene Fredborg Ekspert
07. februar 2021 - 18:29 #8
FORTSAT - ekstra tip:
Du kan også bruge dokumentegenskaber og DocProperty-felter på finurlig vis til at indsætte Indholdet af forskellige Autotekster afhængigt at, hvilken værdi, du tildeler dokumentegenskaben. På den måde kan du faktisk lave automatisk valg af tekst alene vha. værdien, du tildeler dokumentegenskaberne.

Eksempel.
Gem tre Autotekster med navne Autotext1, Autotext2 og Autotext3. Lad og sige, at de tre Autotekster indholder følgende tekster (kunne være lange tekster, om nødvendigt):

Dette er indholdet i Autotext1
Dette er indholdet i Autotext2
Dette er indholdet i Autotext3

Opret en dokumentegenskab med navnet ValgA

I dokumentet/skabelonen, indsæt en feltkonstruktion som vist her:

{ AutoText "{ QUOTE "Autotext" }{ DocProperty "ValgA" }" }

VIGTIGT: alle klammerne laves med Ctrl+F9 (kan ikke skrives som alm. tegn).

Hvis du tildeler dokumentegenskaben ValgA værdien 1, vil feltkonstruktionen vise indholdet af Autotext1. Hvis du tildeler dokumentegenskaben ValgA værdien 2, vil feltkonstruktionen vise indholdet af Autotext2. Hvis du tildeler dokumentegenskaben ValgA værdien 3, vil feltkonstruktionen vise indholdet af Autotext3.

Det virker sådan:
Feltet { QUOTE "Autotext" } har som resultat selve teksten “Autotext” (dvs. at resultatet af QOUTE er den tekst, der står i citationstegn).

Feltet { DocProperty "ValgA" } har som resultat den værdi, du giver dokumentegenskaben ValgA (skal så være 1, 2 eller 3 i dette eksempel for at matche Autoteksterne).
Et felt af typen AutoText indsætter indholdet af den Autotekst, som navnet angiver. Dermed indsætter konstruktionen værdien af dine forskellige Autotekster afhængigt af værdien af ValgA.

I eksemplet her har jeg konstrueret enkle navne. Når du forstår principperne, kan du udskifte navnene med noget sigende.
Avatar billede Lene Fredborg Ekspert
07. februar 2021 - 19:13 #9
En forenkling af mit forslag under #8:

Hvis du giver dokumentegenskab ValgA en værdi, som er lig HELE navnet på den Autotekst, der skal indsættes, kan QUOTE-feltet udelades, så feltkonstruktionen ser sådan ud:

{ AutoText "{ DocProperty "ValgA" }" }
Avatar billede avminarm Juniormester
07. februar 2021 - 19:59 #10
Hej Lene

Supermange tak - jeg kigger på det :-)
08. februar 2021 - 09:31 #11
Hej Aviminarm
Nu du kigger så tjek også Dokumentkontroller ud. Der kan du både lave udfyldningsfelter og rullelister.
Læs her:
https://support.microsoft.com/da-dk/office/oprette-formularer-som-brugere-udfylder-eller-udskriver-i-word-040c5cc1-e309-445b-94ac-542f732c8c8b

Hvis du ikke normalt bruger Udviklerfanen så kan du læse her hvordan du slår den til:
https://support.microsoft.com/da-dk/office/om-indholdskontrolelementer-283b1e29-0b77-4781-b236-2d02c1cce1c2

Har du standardtekster så kombiner med dokumentelementer (eng: Building bloks, tidl. Hurtigdele).
Med venlig hilsen
Birthe
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