shouldn't it work on other similar programs(libre office) ,too? don't ask why I have that.
Dieser Kommentar wurde geändert
@luxon I haven't tested it in libre office I just did it with what i have at work (Excel)
Bitte melde dich an um Kommentare zu posten.
Until they release some kind of win rate tool etc. you can try this for now.
1. Open Excel
2. Pres Alt + F11
3. In the left hand menu right click and "Insert new Module"
4. Paste below code into module and click run
It might not be the cleanest but if you aren't daft you can do text to columns and sort out the funky tables and perhaps I will put more time into cleaning it up.
---------------------------------------------------------------------------------------------------------------------
Sub GetDotabuffSolo()
Dim IE As Object
Dim doc As Object
Dim strURL As String
Dim I As Integer
For I = 1 To 1
' this is a number based on pages e.g. 1-3 or more
strURL = "http://dotabuff.com/players/144866495/matches?date=&faction=&hero=&lobby_type=&game_mode=1v1_solo_mid®ion=&duration=" + Trim(Str(I))
' put your player ID replacing the one used in the above 144866495
Set IE = CreateObject("InternetExplorer.Application")
With IE
.navigate strURL
Do Until .ReadyState = 4: DoEvents: Loop
Do While .Busy: DoEvents: Loop
Set doc = IE.Document
GetAllTables doc
.Quit
End With
Next I
End Sub
Sub GetAllTables(doc As Object)
Dim ws As Worksheet
Dim rng As Range
Dim tbl As Object
Dim rw As Object
Dim cl As Object
Dim tabno As Long
Dim nextrow As Long
Dim I As Long
Set ws = Worksheets.Add
For Each tbl In doc.getElementsByTagName("TABLE")
tabno = tabno + 1
nextrow = nextrow + 1
Set rng = ws.Range("B" & nextrow)
rng.Offset(, -1) = "Table " & tabno
For Each rw In tbl.Rows
For Each cl In rw.Cells
rng.Value = cl.outerText
Set rng = rng.Offset(, 1)
I = I + 1
Next cl
nextrow = nextrow + 1
Set rng = rng.Offset(1, -I)
I = 0
Next rw
Next tbl
End Sub