Avatar billede bo.olsen Nybegynder
27. januar 2004 - 14:29 Der 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.
27. januar 2004 - 14:33 #1
Det lyder ikke umiddelbart som noget du kan løse i en formular i Word.

Excel har en funktion til håndtering af opgaven - LOPSLAG()
Avatar billede rvm Nybegynder
27. januar 2004 - 14:51 #2
jep - selvfølgeligt kan detlade sig gøre *S*

Du skal bare kunne programmere...

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.
Avatar billede bo.olsen Nybegynder
07. februar 2004 - 10:12 #3
Jeg har prøvet ovenstående men uden held, er der en anden der kan forklare det??
Avatar billede rvm Nybegynder
07. februar 2004 - 22:39 #4
Skriv din email her, så sender jeg et eksempel.
Avatar billede rvm Nybegynder
07. februar 2004 - 23:14 #5
Her er et forslag til kode:

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

Set ExcelObj = GetObject(, "Excel.Application")

ExcelObj.Workbooks.Open FileName:= "C:\Kunder.xls"
       
WorkBookNavn = ExcelObj.ActiveWorkbook.Name

ActiveDocument.FormFields("Kunder").DropDown.ListEntries.Clear

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 = ""

ExcelObj.Workbooks(WorkBookNavn).Close SaveChanges:=False

End Sub
Sub HentAdresse()

Dim ExcelObj As Excel.Application

Set ExcelObj = GetObject(, "Excel.Application")

ExcelObj.Workbooks.Open FileName:="C:Kunder.xls"

WorkBookNavn = ExcelObj.ActiveWorkbook.Name

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

Held og lykke *S*
Avatar billede bo.olsen Nybegynder
07. februar 2004 - 23:20 #6
Hej RVM
bo_olsenprivat@hotmail.com
Jeg har allerede en excel kundeliste som gerne skulle bruges.. Kan det lade sig gøre ?
Avatar billede rvm Nybegynder
08. februar 2004 - 10:31 #7
Selvfølgelig *S*

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*
Avatar billede bo.olsen Nybegynder
08. februar 2004 - 11:43 #8
Ser rigtigt ud, er det jeg ønsker men hvordan arbejder de sammen.... hvad mener du med at jeg skal ændre stivejen i koden ?
Avatar billede rvm Nybegynder
08. februar 2004 - 23:55 #9
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.
Avatar billede rvm Nybegynder
18. maj 2004 - 08:54 #10
Fik du svar på dit spørgsmål?
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