Avatar billede planet_orion Nybegynder
23. marts 2006 - 18:29 Der er 10 kommentarer og
2 løsninger

Makro som henter data fra Excel over i Word med en dialogboks

Hej alle,

Jeg står midt i et projekt hvor jeg virkelig har brug for nogle eksperter i makro programmering.

Jeg har følgende problem som jeg meget gerne skulle havde løst hurtigst muligt.

I Word skal jeg bruge en makro, som gør følgende for brugerne:

1. Starter en dialogboks op i Word
2. Bruger indtaster eks.: A2 (en celler i et excel regneark)
3. Makro´en henter information fra celle A2 i regnearket
4. Indsætter information fra celle A2 i Word dokumentet
5. Slut

Er der nogen som kan hjælpe mig med det?

Mvh.

Allan
Avatar billede rvm Nybegynder
23. marts 2006 - 20:25 #1
1. Indsæt nedenstående makro i et modul i Word
2. I VBA miljøet vælges Tools/references og der sættes flueben/hak i referencen  Microsoft Excel xx object library
3. Opret et bogmærke i Wordfilen, der hedder "Data"
4. Opret en xls fil der ligger på "c:\FraExcel.xls"

Sub IndsætFraExcel()

Dim xlApp As Excel.Application

'Opretter Excelobjektet xlApp
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True

'Her indtastes celle
svar = InputBox("Indtast celleref", "A1")

'Excelregnearket med åbnes
xlApp.workbooks.Open FileName:="C:\FraExcel.xls"

'Henter data fra Excel over i bogmærke i Word
ActiveDocument.Bookmarks("Data").Range.Text = xlApp.Range(svar).Value

xlApp.Quit
Set xlApp = Nothing

End Sub
Avatar billede planet_orion Nybegynder
23. marts 2006 - 21:20 #2
Hey,

Det virker faktisk, super!! Men...

I og med det skal fungere på mellem 50-100 arbejdsstationer, skulle makro´en helst fungere uden jeg skal tilrette/tilføje funktioner som bogmærker.

Vedr. fluebenet i VBA, så håber jeg kan "force" det via group policy, eller dur løsningen ikke. Det vil giver mig alt for meget arbejde.

Kan man lave det på en andre måde eller bedre måde? :)
Avatar billede planet_orion Nybegynder
23. marts 2006 - 21:35 #3
Forresten er det ikke muligt at hvis man kalder makro, så indsætter den bare cellen fra excel uden at man skal definere et bogmærke?

Mvh
Allan
Avatar billede rvm Nybegynder
23. marts 2006 - 22:22 #4
Så makroen skal altså indsætte data det sted hvor cursoren er placeret?

Udskift nedenstående linie
ActiveDocument.Bookmarks("Data").Range.Text = xlApp.Range(svar).Value

med

selection.typetext xlApp.Range(svar).Value
Avatar billede rvm Nybegynder
23. marts 2006 - 22:24 #5
Hvis det skal være en generel makro, så kan du placere den på et netværksdrev og så ændre alle brugeres opstartsbibliotek til denne placering. Husk at wordfilen så skal være en .dot fil.
Avatar billede rvm Nybegynder
23. marts 2006 - 22:26 #6
Eller du kan kopiere den ud til brugernes nuværende opstartsbibliotek (hvis makroen også skal kunne virke på bærbare). Og måske lave en kopiering via logonscript, så der ikke skal tænkes over det med udkopiering.
Avatar billede planet_orion Nybegynder
23. marts 2006 - 22:47 #7
Super, nu begynder det at spille :)

En ting til sidst, kan man undgå at Excel åbner i baggrunde eller? Eller evt. bare minimere sig selv?

Når jeg køre makro´en på min bærbar, så bliver Excel åbnet op, og jeg er derfor nød til at lukke den ned i proceslinjen, og tage word frem igen....? :/

Super arbejde indtil videre!!!!
Avatar billede rvm Nybegynder
23. marts 2006 - 22:49 #8
Fjern linien:
xlApp.Visible = True
Avatar billede planet_orion Nybegynder
23. marts 2006 - 23:14 #9
Super!!!! Kanon!!!

Det virker bare :)
Avatar billede planet_orion Nybegynder
23. marts 2006 - 23:15 #10
Hmmm... hvorfor kan jeg ikke Accepter dit svar... :/
Avatar billede rvm Nybegynder
24. marts 2006 - 08:16 #11
Du får et nyt svar at forsøge på :-)
Avatar billede planet_orion Nybegynder
24. marts 2006 - 09:25 #12
prøver lige igen :)
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