Avatar billede chrira Nybegynder
30. januar 2002 - 13:28 Der er 13 kommentarer og
1 løsning

Aktivere Word macro fra Excel

Hej

Jeg sidder med det problem at jeg fra Excel ønsker at aktiver en makro der ligger i et Word dokument. Makroen skal ligge i Excel og Word dokumentet er åbent, så det er udelukkende aktiveringen af makroen jeg er interesseret i.

Chris
Avatar billede dimle Nybegynder
30. januar 2002 - 13:34 #1
Kan du ikke bare ligge samme makro ind som genvej i Excel også??!!!
Avatar billede chrira Nybegynder
30. januar 2002 - 13:40 #2
Hej Dimle

Jeg er ikke sikker på at jeg forstår dit svar. Jeg skal have skrevet det dokument ud der ligger i Word og efterfølgende lukke Word. Denne funktion ligger i Word makroen, men kunne principielt lige så godt ligge i Excel. Spørgsmålet er bare hvilken VB kode jeg skal skrive. Jeg synes snart jeg har prøvet 100 løsninger uden rigtigt at komme videre. Du må meget gerne uddybe dit svar.

På forhånd tak

Chris
Avatar billede dimle Nybegynder
30. januar 2002 - 14:15 #3
Okay... så havde jeg også misforstået dig!!! :o) Altså du vil gerne have koden i VB der kan køre en makro i det åbne word-dokument(Word.Application)??? Er det sådan??
Avatar billede chrira Nybegynder
30. januar 2002 - 14:18 #4
Hej Dimle

Ja nu er vi vist enige ;-).

Chris
Avatar billede dimle Nybegynder
30. januar 2002 - 14:24 #5
Jamen det gør man sådan:

objWord.Run ("MakroNavn")


Hvor objWord er navnet på din Word.Application og MakroNavn er navnet på den makro du vil køre!
Avatar billede chrira Nybegynder
30. januar 2002 - 14:36 #6
Hej Dimle

Det ser fint ud. Makronavnet gir sig selv, men hvordan sætter jeg objWord til at være = det aktive dokument i Word. Jeg indsæter lige lidt kode fra Excel.

Sheets("Kommentarer - forvent.").Activate
    ActiveSheet.Shapes("Objekt 1").Select
    Selection.Verb Verb:=xlOpen
    objword = word.Application
    objword.Run ("udskriv")
 
Det koden gør er at flytte et Wordobjekt der ligger på et Excel sheet til Word. Dokumentet i Word skal skrives ud. Dette gøres i Word med nedenstående makro. De to sidste linier i makroen er indsat på dit initiativ, men de virker ikke. Hvad gør jeg galt?

Sub udskriv()

    Application.DisplayAlerts = False
    Application.ScreenUpdating = False

    On Error GoTo jump

    Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="",    PageType:=wdPrintAllPages, _
        Collate:=True, Background:=True, PrintToFile:=False '

jump:

    MsgBox "Der er opstået fejl i udskrivningen, prøv igen"

    Application.Quit

End Sub

Word makroen udskriver dokumentet og lukker Word.
Avatar billede dimle Nybegynder
30. januar 2002 - 14:49 #7
Koden skal se således ud:


Dim objWord As Word.Application
Set objWord = New Word.Application 'Laver et nyt Objekt
Dim minWordFil As String

minWordFil = App.Path & "\Wordfil.doc" 'Sætter minWordFil = Stien hvor din Wordfil ligger!

objWord.Documents.Open (minWordFil) 'Åbner filen minWordFil i det nye objekt

Sheets("Kommentarer - forvent.").Activate
    ActiveSheet.Shapes("Objekt 1").Select
    Selection.Verb Verb:=xlOpen
    objword.Run ("udskriv")



Husk at du skal have en reference i dit projekt til Microsoft Word 8.0 eller noget i den stil afhængig af hvilken version du har!
Avatar billede dimle Nybegynder
31. januar 2002 - 13:27 #8
Har du fået det til at virke??? Ellers må du jo spørge igen ik!!!
Avatar billede chrira Nybegynder
31. januar 2002 - 13:46 #9
Hej Igen

Jeg har faktisk ikke fået det til at virke. Vi bruger Excel 97, så det er måske problemet. Hvis du har lyst kan jeg evt. maile den fil hvor jeg har problemet, så kan du måske få det til at virke.

Chris
Avatar billede dimle Nybegynder
31. januar 2002 - 14:28 #10
Ja det må du gerne så kan jeg lige kigge på det - det kan godt være lidt tricky!!!
Avatar billede dimle Nybegynder
31. januar 2002 - 14:29 #11
Min email er: DenRud@hotmail.com
Avatar billede dimle Nybegynder
31. januar 2002 - 15:45 #12
Jeg er ikke helt sikker på hvad du vil ha mig til og hvor det er galt! Er det knappen Command2(Udskriv) inde i folderen "kommentarer - år til dato" inde i word-dokumentet - der er noget galt med???

Denne procedure:

Sub CommandButton2_Click()
   
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False

    On Error GoTo jump

    Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        Collate:=True, Background:=True, PrintToFile:=False
   
    GoTo jump1

jump:

    MsgBox "Der er opstået fejl i udskrivningen, prøv igen"

jump1:
   
End Sub
Avatar billede dimle Nybegynder
31. januar 2002 - 16:29 #13
Nej nu tror jeg måske jeg ved hvad du mener... Vil du have de to knapper "Print kommentarer - real." og "Print kommentarer forvent." på forsiden til at udskrive direkte i stedet for bare at åbne word-dokumentet!!!
Avatar billede dimle Nybegynder
31. januar 2002 - 16:30 #14
...eller de sidte tre tegn fra sidste kommentar skulle nok have været ??? i stedet!
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
Kurser inden for grundlæggende programmering

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