27. januar 2004 - 14:29Der er
9 kommentarer og 1 løsning
formular i word dokument der indrager excel
Jeg ønsker at lave en formular der nemt kan udfyldes, jeg skal lave den i Word eller excel for dem der skal udfylde har ikke andre programmer til rådighed. Emnet er projektrapportering. Nu til spørgsmålet.. kan det lade sig gøre at man i sit Word dokument(formular) kan trykke i et felt og så vælge en kunde ( fra en excel kundeliste) hvormed de første felter bliver udfyldt automatisk.?? Er der evt. nogen der har en formular eller kan give mig nogle gode tips.
1 .Opret et Word dokument med et fomularfelt (rulleliste)
2. Lav en indgangsmakro til feltet, der henter alle kunderne fra din liste i Excel.
3. Lav en udgangsmakro, der finder den på listen valgte kunde i Excel og henter de andre kundedata (som sikkert står på samme række) ind i andre formularfelter (som du også har i Word dokumentet.
Opret et regneark med kundedata. Skriv kundens navn i kolonne 1 og adressen i kolonne 2 Kald regnearket "Kunder"
Åben Word Indsæt et formularfelt Indsæt derefter et formularfelt af typen Rulleliste med bogmærket "Kunder" Indsæt derefter et formularfelt af typen Tekst med bogmærket "Adresse"
Åben Words visual basic editor (Tryk Alt+F11) Indsæt et modul
Kopier nedenstående kode ind i modulet:
Sub FyldRulleliste() Dim ExcelObj As Excel.Application
n = 2 Do Kunde = ExcelObj.Cells(n, 1).Text ActiveDocument.FormFields("Kunder").DropDown.ListEntries.Add Name:=Kunde n = n + 1 Loop Until ExcelObj.Cells(n, 1).Text = ""
Kunde = ActiveDocument.FormFields("Kunder").Result
n = 2 Do If Kunde = ExcelObj.Cells(n, 1).Text Then ActiveDocument.FormFields("Adresse").Result = ExcelObj.Cells(n, 2).Text Exit Do Else n = n + 1 End If Loop Until ExcelObj.Cells(n, 1).Text = ""
End Sub
Vælg Tools/references og sæt en referance til Excels object library
På rullelisten sætter du nu makroen "FyldRulleliste" som indgang og makroen "HentAdresse" som udgang.
Beskyt nu dit dokument og brug tabulatortasterne til at hoppe mellem formualrfelterne
Sender nu mit eksempel til dig. Du skal bare huske at ændre stivejen til excelfilen i koden. Min kode er forøvrigt bare et udkast - der mangler f.eks. fejlhåndtering *S*
Hvis du har din Excelfil liggende i "C:\" så behøver du ikke at ændre stivejen.
De arbejder sammen på den måde at indgangsmakroen fylde rullelisten op med det der står i 1. kolonne i Excelfilen. Udgangsmakroen finder den række i kolonne 1 i Excefilen, hvor den valgte kunde (på rullelisten) står og skriver adressen der står i kolonne 2 i det næste fomularfelt i Word.
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.