• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Stop Querytables.add

Status
Niet open voor verdere reacties.

geep1980

Gebruiker
Lid geworden
7 apr 2009
Berichten
348
Ik ben voor mijn werk wat in elkaar aan het zetten wat plaatjes van onze interne website afhaalt.
Nu moet ik voor 1 van de pagina's inloggen in de applicatie en daarna op een andere pagina plaatjes ophalen.

Als ik voordat ik de macro start eerst kies Data --> From Web en dan inlog in de applicatie dan werkt het netjes.
Dit is natuurlijk niet handig als je het wil automatiseren.
Ik laat daarom een html bestand aanmaken waarin een automatische login doe. Ook dit werkt als ik Data --> From web doe.

Nu zit ik nog met het probleem dat deze uitgevoerd moet worden zonder dat er wat wordt opgehaald aangezien dit alleen maar nodig is om andere plaatjes op te halen.
Wat ik zou willen is dat ik met een soort van QueryTables.Add de login uitvoer en dat QueryTables.Add daarna stopt.
Is dit mogelijk?

Alvast bedankt
 
waarom dan niet gewoon de HTML uitvoeren? overigens voert querytables.add niets uit totdat je een refresh doet, dus als ik je goed begrijp zou een ADD en een close moeten werken ?
 
wampier

als ik de html buiten excel om uitvoer onthoud hij dat niet binnen excel dus als ik dan de plaatjes op wil halen krijg ik een foutmelding.

Wat ik geprobeerd heb is het volgende:

With ActiveSheet.QueryTables.Add(Connection:= _
"URL;h:\export.html", _
Destination:=Range("$A$5"))
.Name = "index"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "6"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=True
End With

maar dit werkt helaas niet.

Alle plaatjes die opgehaald moeten worden staan als link in een Sheet en worden met een loop alsvolgt opgehaald

With Sheet3.Pictures.Insert(PictureURL)
.Left = Sheet3.Range("$A$1").Left
.Top = Sheet3.Range("$A$1").Top
Application.ScreenUpdating = True
 
ik bedoelde eigenlijk meer, als alleen de pagina moet worden aangeroepen, waarom niet zoals:

Application.FollowHyperlink Address:="h:\export.html"

Of iets dergelijks? mogelijk moet je wat met de variabelen spelen, maar dit zou de pagina moeten aanroepen vanuit excel
 
hij opent hem op deze manier als een nieuwe webpagina.
Hij moet echt binnen excel blijven en niet buiten excel de pagina openen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan