Avatar billede rabitjosph Juniormester
30. juni 2007 - 17:38 Der er 7 kommentarer og
1 løsning

ie.Visible = True giver fejl

Ud fra hyperlink bruger jeg
Set ie = CreateObject("InternetExplorer.Application")

Jeg skal åbne og lukke hyperlinks 200-300 gange men
jeg får denne fejl efter explorer har åbnet og lukket 3 gange

ie.Visible = True
Error 424
Object required

Hvad skyldes det at den kommer efter ca. 3 gang

Thx
Avatar billede kalp Novice
30. juni 2007 - 17:50 #1
en ting du kan prøve at se på er om der lægger nogle åbne instanser af IE i joblisten.

jeg programmere i C# men havde da i hvertfald på et tidspunkt et problem som skyldtes at der lå gamle instanser af den i joblisten.
Avatar billede rabitjosph Juniormester
30. juni 2007 - 18:11 #2
Hej

Det er et lille stk kode jeg bruger og det ser sådan men den skal køre 200-300
gange

Set ie = CreateObject("InternetExplorer.Application") ' Starter Explore op
  ie.Visible = True ' Gør Explore synlig på skærmen
  ie.navigate2 Link ' Hent din webside...
    While ie.busy: Wend
    Sleep 15000
      'Send en tegnstreng til browseren for at gemme siden...
        SendKeys "%Fm", True 'Vis "Gem som..." billedet
        Sleep 2000
          SendKeys jo & h & "    _    " & il ' mærke + dato
          Sleep 2000
            SendKeys "{TAB}{DOWN}", True 'Vælg den nummer 1 af mulighederne i Filtype (Webside)
            Sleep 2000
              SendKeys "{TAB}", True
              Sleep 2000
                SendKeys "G", True 'Tryk på Gem
                'SendKeys "%G", True 'Tryk på Gem
                  Sleep 15000 ' Giv browseren tid til at gemme
                    ie.Quit
                    Set ie = Nothing ' lukker browser ned

Forfra igen med næste hyperlink
Avatar billede thesurfer Nybegynder
30. juni 2007 - 20:05 #3
rabitjosph> Hvad er det lige du vil? Vil du bare downloade en masse billeder?
Avatar billede rabitjosph Juniormester
01. juli 2007 - 07:14 #4
Yes

Jeg downloader en masser billedere, dette kunne gøre på en anden måde, meget nemmer med et andet program, det er jeg med på. Men jeg bruger excel og makro (VBA) fordi der er meget data jeg skal behandle også, så derfor kan det se noget kluntet ud det jeg laver, men har ikke selv bedre bud.

Så det lille programstykke som der er skruet sammen kan jeg kun få til at køre 3 gange ca. så stopper den med Error 424 Object required
og det kan jeg ikke fatte da den har kørt ca 3 gange ?
Avatar billede thesurfer Nybegynder
01. juli 2007 - 08:36 #5
1) Hvad skal der ske efter at billeder er downloadet?

2) Skal der ske noget efter hvert billede er downloadet, eller når alle billeder er downloadet?

3) Hvor kommer adresserne til billederne fra?
Avatar billede thesurfer Nybegynder
01. juli 2007 - 08:49 #6
Jeg har fundet en funktion, der downloader billeder, på http://cwashington.netreach.net/depo/view.asp?Index=1080

I Visual Basic Editoren indsætter du denne funktion, i toppen:

Function SaveWebBinary(strUrl, strFile) 'As Boolean
    Const adTypeBinary = 1
    Const adSaveCreateOverWrite = 2
    Const ForWriting = 2
    Dim web, varByteArray, strData, strBuffer, lngCounter, ado
    Err.Clear
    Set web = Nothing
    Set web = CreateObject("WinHttp.WinHttpRequest.5.1")
    If web Is Nothing Then Set web = CreateObject("WinHttp.WinHttpRequest")
    If web Is Nothing Then Set web = CreateObject("MSXML2.ServerXMLHTTP")
    If web Is Nothing Then Set web = CreateObject("Microsoft.XMLHTTP")
    web.Open "GET", strUrl, False
    web.Send
    If Err.Number <> 0 Then
        SaveWebBinary = False
        Set web = Nothing
        Exit Function
    End If
    If web.Status <> "200" Then
        SaveWebBinary = False
        Set web = Nothing
        Exit Function
    End If
    varByteArray = web.ResponseBody
    Set web = Nothing
   
    'Save the file
    On Error Resume Next
    Set ado = Nothing
    Set ado = CreateObject("ADODB.Stream")
    If ado Is Nothing Then
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set ts = fs.OpenTextFile(strFile, ForWriting, True)
        strData = ""
        strBuffer = ""
        For lngCounter = 0 To UBound(varByteArray)
            ts.Write Chr(255 And AscB(MidB(varByteArray, lngCounter + 1, 1)))
        Next
        ts.Close
    Else
        ado.Type = adTypeBinary
        ado.Open
        ado.Write varByteArray
        ado.SaveToFile strFile, adSaveCreateOverWrite
        ado.Close
    End If
    SaveWebBinary = True
End Function



Herefter kan du kalde den via:

dim stat
stat = SaveWebBinary("http://www.domæne.dk/billede.jpg",".\billede.jpg")

Funktionen SaveWebBinary returnerer enten True, hvis alt gik godt, eller False, hvis det gik noget galt.

Ved at bruge ".\" foran den navnet på den lokale fil, bliver billedet gemt i samme mappe, som excel-filen.

Du retter det bare til.
Avatar billede thesurfer Nybegynder
07. juli 2007 - 23:07 #7
Hvordan går det? :-)
Avatar billede rabitjosph Juniormester
11. juli 2007 - 18:27 #8
Hej

Har løst det, med denne her

Link = "http://www.google.dk/search?hl=da&q= test &meta=" '
        Set objIE = CreateObject("InternetExplorer.Application")
        objIE.Visible = True
        objIE.Navigate2 Link
                'Wait till the page is completely displayed!
                'The following three lines are not needed if
                'you don't want to wait for the 1st page to display completely
                  While objIE.ReadyState < 4
                  Sleep 100
    Wend
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