05.07.2019, 21:42
Hallo Freunde,
ich möchte mit einem Makro Daten von einer zuvor heruntergeladenen HTML-Seite importieren.
Da ich das täglich machen möchte, sollte der Zielpfad abhängig vom Datum sein.
Also -> C:\Dokumente\HeutigesDatumInJJJJMMDD\Website.html
Das "Datum", also der sich verändernde Pfad bekomme ich so:
="C:\Dokumente\ & =TEXT(HEUTE();"JJJJMMTT") & "Website.html"
Dieser wird als String bei Quelle = Web.Page(File.Contents(Datum)) eingesetzt.
Nach meinem Verständnis müsste das funktionieren. Wenn ich den Pfad da einfach nur reinkopiere, geht es..
Vielleicht kann mir in die Richtung jemand helfen. Auch ein Erklärung, was ich da überhaupt genau aufgezeichnet habe, wäre super.
Ich steig nicht wirklich durch, was was bewirkt.
Beste Grüße!
ich möchte mit einem Makro Daten von einer zuvor heruntergeladenen HTML-Seite importieren.
Da ich das täglich machen möchte, sollte der Zielpfad abhängig vom Datum sein.
Also -> C:\Dokumente\HeutigesDatumInJJJJMMDD\Website.html
Das "Datum", also der sich verändernde Pfad bekomme ich so:
="C:\Dokumente\ & =TEXT(HEUTE();"JJJJMMTT") & "Website.html"
Dieser wird als String bei Quelle = Web.Page(File.Contents(Datum)) eingesetzt.
Nach meinem Verständnis müsste das funktionieren. Wenn ich den Pfad da einfach nur reinkopiere, geht es..
Code:
Dim Datum As String
Datum = Worksheets("Infos").Cells(4, 3).Value
'
'
ActiveWorkbook.Queries.Add Name:="PRICE", Formula:= _
"let" & Chr(13) & "" & Chr(10) & " Quelle = Web.Page(File.Contents(Datum))," & Chr(13) & "" & Chr(10) & " Data0 = Quelle{0}[Data]," & Chr(13) & "" & Chr(10) & " #""Geänderter Typ"" = Table.TransformColumnTypes(Data0,{{""Name"", type text}, {""Price"", type number}, {""Change"", type number}, {""Change %"", P" & _
"ercentage.Type}, {""High"", type number}, {""Low"", type number}, {""Volume"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Geänderter Typ"""
ActiveWorkbook.Worksheets.Add
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=PRICE;Extended Properties=""""" _
, Destination:=Range("$A$1")).QueryTable
.CommandType = xlCmdSql
.CommandText = Array("SELECT * FROM [PRICE]")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "PRICE"
.Refresh BackgroundQuery:=False
End With
Windows("PERSONAL.xlsb").Activate
Windows("Mappe1").Activate
End Sub
Vielleicht kann mir in die Richtung jemand helfen. Auch ein Erklärung, was ich da überhaupt genau aufgezeichnet habe, wäre super.
Ich steig nicht wirklich durch, was was bewirkt.
Beste Grüße!