15. december 2003 - 15:48Der er
10 kommentarer og 2 løsninger
VBA, start Word fra Excel. Problem i Office2000.
Jeg har lavet en størrer adressebog til det firma jeg arbejder i, en af de funktioner adressebogen har er, at man kan åbne et standardbrev, og få navnet og adresseinformationerne ført med over fra adressebogen, så det står rigtigt ved udprintning til et brev med rude. Det hele fungere upåklageligt i Office XP hvor jeg har udviklet det, men prøver jeg at kører denne opstart af Word i en office 2000, så går Excel 2000 ned. Her er koden der køres:
Sub Open_word() Dim wdApp As Word.Application Dim myDoc As Word.Document Dim mywdRange As Word.Range Set wdApp = New Word.Application With wdApp .Visible = True .WindowState = wdWindowStateMaximize End With If Wordform.OptionButton1 = True Then Set myDoc = wdApp.Documents.Open("G:\skabeloner\Produktion\Vedr.dot") Else Set myDoc = wdApp.Documents.Open("G:\skabeloner\Produktion\tilbud.dot") End If Set mywdRange = myDoc.Words(1) With mywdRange .Text = Range("F6") & Cells(ActiveCell.Row, 2) & Chr(13) & Chr(10) & Cells(ActiveCell.Row, 4) & Chr(13) & Chr(10) & Cells(ActiveCell.Row, 5) End With End Sub
Den linie hvor Excel går ned er:
Set myDoc = wdApp.Documents.Open("G:\skabeloner\Produktion\tilbud.dot")
Håber nogen har nogle ideer til hvad mit problem kan være. Jeg har foresten husket at ordne den manglende reference til Microsoft Word 10.0 object library.
tilbud.dot kan godt åbnes i Word 2000 det har jeg prøvet, det er meget brugt dokument i virksomheden, jeg umiddelbart tror jeg ikke der er problemer med det.
denne virker nu ved mig OptionButton1 har jeg på arket, derfor ingen henvisning.
Sub Open_word() Dim wdApp As Word.Application Dim myDoc As Word.Document Dim mywdRange As Word.Range Set wdApp = New Word.Application With wdApp .Visible = True .WindowState = wdWindowStateMaximize End With If OptionButton1 = True Then Set myDoc = wdApp.Documents.Open("C:\Vedr.dot") Else Set myDoc = wdApp.Documents.Open("C:\tilbud.dot") End If Set mywdRange = myDoc.Words(1) With mywdRange .Text = Range("F6") & Cells(ActiveCell.Row, 2) & Chr(13) & Chr(10) & Cells(ActiveCell.Row, 4) & Chr(13) & Chr(10) & Cells(ActiveCell.Row, 5) End With End Sub
Davs igen, jeg roede lidt videre med versions nummeret af object librariet... og det viste sig at så snart jeg fik referencen til at passe på 9.0 så virkede det efter hensigten. Så jeg må bare finde mig en Office2000 full install til at udvikle på. Jeg vælger at give dig halvdelen af pointene kabbak, som tak for din insats.
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.