Avatar billede Josvto Mester
05. juli 2017 - 22:47 Der er 6 kommentarer

Opdatering af URL i macro?

Hej

Jeg har brugt et program til at hente aktiekurser på udvalgte aktier.

Men nu har Yahoo Finance ændret URL'en.

Jeg kan ikke gennemskue, hvordan jeg opdaterer den URL i min macro, som sikrer, at jeg henter de rigtige tal.

Kan en hjælpe:

Her er den gamle macro med gammel URL:

        'Income Statement
        conString = "URL;https://finance.yahoo.com/quote/" & x & "/financials?p=" & x & ""
        conName = "is?s=" & x & "+Income+Statement&annual"
                                                               
        With ActiveSheet.QueryTables.Add(Connection:=conString, Destination:=Range("$B$2"))
            .Name = conName
            .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 = """yfncsubtit"",8,10,11,13,15,17,19,21,23"
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False

Her er den nye URL:

https://finance.yahoo.com/quote/VWS.CO/financials?p=VWS.CO

I dette tilfælde er det Vestas, som jeg ønsker at hente for. Jeg mener VWS.CO er " & x & " uden at være sikker.

En som kan opdatere den? :)

Mvh
Josvto
Avatar billede Josvto Mester
05. juli 2017 - 22:49 #1
Beklager. URL på nuværende tidspunkt er:

conString = "URL;http://finance.yahoo.com/q/is?s=" & x & "+Income+Statement&annual"
       
conName = "is?s=" & x & "+Income+Statement&annual"
Avatar billede Karsten Novice
07. juli 2017 - 14:13 #2
Hvis det kun er URL der skal rettes, så prøv at rette linjen med conString til :

conString = "URL;https://finance.yahoo.com/quote/" & x & "/?p=" & x

Så tror jeg du er på plads.

Hvis der er brug for yderligere assistance, så assisterer jeg gerne. Se evt. her: https://www.sanocast.dk/excel-udvikler/

Med venlig hilsen
Karsten Olsen
Avatar billede Josvto Mester
08. juli 2017 - 23:59 #3
Hej Karsten

Tak for dit svar.

Desværre virkede det ikke :/ Har du et andet forslag?
Avatar billede Karsten Novice
14. juli 2017 - 17:03 #4
Hej Josvto.

Jeg har lige afprøvet koden med rettelsen. Hvis du husker at sætte X til hvilken aktie det drejer sig om, så virker det!
Jeg får ihvertfald data fra yahoo ind i mit ark. Om de så er opstillet på samme måde som du tidligere har set det, det aner jeg ikke. Det kan godt tænkes at Yahoo ikke blot har ændret URL, men også har ændret strukturen på siden, hvilket vil bevirke at tallene vil stå anderledes i excel.

Når jeg kører nedenstående kode i min excel, så hentes data ind på Vestas aktien. Jeg kan f.eks. finde omsætning for de seneste 4 år i række 96.

Sub getdata()

    x = "VWS.CO"
  'Income Statement
        conString = "URL;https://finance.yahoo.com/quote/" & x & "/financials?p=" & x & ""
        'conName = "is?s=" & x & "+Income+Statement&annual"
                                                               
        With ActiveSheet.QueryTables.Add(Connection:=conString, Destination:=Range("$B$2"))
            .Name = conName
            .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 = """yfncsubtit"",8,10,11,13,15,17,19,21,23"
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
           

End Sub

Hvis du har brug for yderligere assistance så giv mig et prej.

Mvh Karsten Olsen / Sanocast
https://www.sanocast.dk/excel-udvikler/
Avatar billede Josvto Mester
15. juli 2017 - 21:22 #5
Hej Karsten

Jeg har forsøgt kun at kopier koden ind, men jeg får absolut intet i mit regneark.

Hvad kan der være galt? :(

Josvto
Avatar billede Josvto Mester
05. september 2017 - 23:36 #6
??? Karsten?? :)
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

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