Avatar billede Slettet bruger
24. august 2012 - 21:30 Der er 5 kommentarer

VBA Word fejl ved Exsel data

Hej Eksperter

Jeg har VBA kode som skulle hente oplysninger fra Excel og indsætte dem i en ComboBox i Word, men jeg for hele tid en fejl: Run time error '424 - Object required

Koden virket uden problemer i 2003, men åben bare gå der noget galt når kode bliver brugt i 2010

Jeg kan se at den gå i stå ved "With adrXLS.Activeworkbook.Sheets(1)" i  nedenstående kode.

--
Private Sub visAdresser()
'Opstiligen i kontakpersoner (Navn/Firma)
Dim række As Long, ræk As String
Dim kontakt As String, firma As String
    With adrXLS.Activeworkbook.Sheets(1)
        For række = startRækXls To 65000
            ræk = række
            If .Cells(ræk, 1) = "" Then
                Exit For
            Else
                Me.kontakt.AddItem .Range("B" & ræk) + "/" & .Range("A" & ræk)
            End If
        Next række
    End With
End Sub
--

Kan ikke forstå hvorfor den gå i stå, håber der en der vil hjælpe mig
Avatar billede tjp Mester
24. august 2012 - 23:05 #1
Det ku jo tyde på at adrXLS er null. Er det blevet oprettet, når koden her kaldes?
Avatar billede Slettet bruger
24. august 2012 - 23:25 #2
Hej tjp
Hvis jeg forstår dit kommentar rigtig så er svaret ja. Det exceldokument som word skal hente fra er oprette som 2010 udg.
Avatar billede tjp Mester
25. august 2012 - 00:45 #3
Jeg tænkte mest om objektet adrXLS er initialiseret før kald af visAdresser, fx med 'Set adrXLS = GetObject(, "Excel.Application")' og at excel rent faktisk kører med dokumentet åbnet.
Avatar billede Slettet bruger
25. august 2012 - 07:30 #4
Hej tjp

Her er hele kode.

'Heneter Kontakpersoner
'OBS hjælp til opstiligen i kontakpersoner
Const startRækXls = 2
Dim adrXLS
'Dim sti
Private Sub åbnAdresseFilen()
On Error GoTo fejlhåndtering

'Finder projektadresseliste

    Set adrXLS = CreateObject("Excel.Application")
    With adrXLS
        .Workbooks.Open "T:\" + sagnr.Value + "\" + prnr.Value + "\01 - Projektinfo & -faciliteter\01.01 - Projektkontakter\ProjektAdresseListe.xlsx"
    End With
   
fejlhåndtering:
Select Case Err.Number
   
Case 1004
  Set adrXLS = CreateObject("Excel.Application")
    With adrXLS
        .Workbooks.Open "C:\ProjektAdresseListe.xlsx"
    End With
Case Else
End Select
End Sub
Private Sub kontakt_Click()
'Henter den valgte adresse
    åbnAdresseFilen
    hentAdressen Me.kontakt.ListIndex
    lukAdresseFilen
End Sub
Private Sub hentAdressen(ix)
'Overtfør kontakter til userform
Dim ræk As String
    ræk = ix + startRækXls
   
    With adrXLS.Activeworkbook.Sheets(1)
        Me.firma = .Range("A" & ræk)
        Me.att = .Range("B" & ræk)
        Me.adr = .Range("F" & ræk)
        Me.post = .Range("G" & ræk)
        Me.by = .Range("H" & ræk)
    End With
End Sub
Private Sub visAdresser()
'Opstiligen i kontakpersoner (Navn/Firma)
Dim række As Long, ræk As String
Dim kontakt As String, firma As String
    With adrXLS.Activeworkbook.Sheets(1)
        For række = startRækXls To 65000
            ræk = række
            If .Cells(ræk, 1) = "" Then
                Exit For
            Else
                Me.kontakt.AddItem .Range("B" & ræk) + "/" & .Range("A" & ræk)
            End If
        Next række
    End With
End Sub
Private Sub lukAdresseFilen()
'Lukker projektadresselisten
    adrXLS.Application.Quit
    Set adrXLS = Nothing
End Sub

Private Sub prnr_AfterUpdate()
Application.ScreenUpdating = False
On Error GoTo fejlhåndtering

'Henter kontaktperson for projekt
kontakt.Clear
åbnAdresseFilen
visAdresser
lukAdresseFilen
End Sub
Avatar billede tjp Mester
03. september 2012 - 14:03 #5
Har været lidt optaget, sorry...
Jeg kan desværre kun teste det på Office 2007 og der virker det altså fint, lige bortset fra en manglende fejl-label i prnr_AfterUpdate.

Måske er det i familie med dette her:
http://www.access-programmers.co.uk/forums/showthread.php?t=206981

En sidebemærkning - jeg ville nok ændre:
Me.kontakt.AddItem .Range("B" & ræk) + "/" & .Range("A" & ræk)
til:
Me.kontakt.AddItem .Range("B" & ræk) & vbTab & .Range("A" & ræk)
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





White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis