Vinnaren i pepparkakshustävlingen!
2014-02-09, 22:31
  #1
Medlem
Hej,

På mitt jobb börjar jag dagen med att gå in på en hemsida och fyller i några val, därefter kan jag ladda ned några excel-filer som jag sedan filtrerar fram ärenden som jag ska hantera under förmiddagen.
Eftersom filerna innehåller nästan 10 000 rader tar det 30-60 minuter varje dag och jag hoppas kunna göra ett program som hämtar filerna åt mig och sedan kör en modul i Excel som gör filtreringen åt mig.

Koden skulle börja såhär ungefär:

Function goto_website()
Dim IE As Object

IE = CreateObject("InternetExplorer.Application")
IE.Navigate("https://www.google.se/")
IE.Visible = True 'We will see the window navigation

While IE.busy Or IE.readyState <> 4
'DoEvents() 'wait until IE is done loading page.
End While

IE.document.getElementsById("q").value = "det här vill jag söka på"

End Function


Tyvärr verkar det inte fungera då IE.document.getElementsById("q").value = "det här vill jag söka på" hela tiden returnerar ett fel
"MissingMemberExeption was unhandled
Additional information: Public member 'getElementsById' on type 'HTMLDocumentClass' not found."

Jag har försökt googla men lyckas inte hitta vad felet kan vara. Samma kod verkar fungera för andra så jag misstänker att det är någon referens som saknas eller liknande:/

Tacksam för hjälp
Citera
2014-02-10, 09:01
  #2
Moderator
Protons avatar
Citat:
Ursprungligen postat av Rave-nr3
Hej,

På mitt jobb börjar jag dagen med att gå in på en hemsida och fyller i några val, därefter kan jag ladda ned några excel-filer som jag sedan filtrerar fram ärenden som jag ska hantera under förmiddagen.
Eftersom filerna innehåller nästan 10 000 rader tar det 30-60 minuter varje dag och jag hoppas kunna göra ett program som hämtar filerna åt mig och sedan kör en modul i Excel som gör filtreringen åt mig.

Koden skulle börja såhär ungefär:

Function goto_website()
Dim IE As Object

IE = CreateObject("InternetExplorer.Application")
IE.Navigate("https://www.google.se/")
IE.Visible = True 'We will see the window navigation

While IE.busy Or IE.readyState <> 4
'DoEvents() 'wait until IE is done loading page.
End While

IE.document.getElementsById("q").value = "det här vill jag söka på"

End Function


Tyvärr verkar det inte fungera då IE.document.getElementsById("q").value = "det här vill jag söka på" hela tiden returnerar ett fel
"MissingMemberExeption was unhandled
Additional information: Public member 'getElementsById' on type 'HTMLDocumentClass' not found."

Jag har försökt googla men lyckas inte hitta vad felet kan vara. Samma kod verkar fungera för andra så jag misstänker att det är någon referens som saknas eller liknande:/

Tacksam för hjälp
Eftersom endast ETT element kan ha ett unikt id är det orimligt att anta att metoden heter getElementsById().

Ett mer troligt namn är getElementById(), däremot lär du kunna hitta något som heter getElementsByTagName(), men det är ju en annan sak.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback