8,452
edits
Paradox-01 (talk | contribs) m ([ ] remove xml nodes, sort later) |
Paradox-01 (talk | contribs) (code pieces: [41] onisplit update) |
||
Line 1,802: | Line 1,802: | ||
' do something e.g. create xml | ' do something e.g. create xml | ||
next | next | ||
' '''[41] onisplit update''' | |||
' this downloads and unzips the last attachment from the [http://mods.oni2.net/node/38 onisplit page] | |||
output_dir = "F:\test\" | |||
' get onisplit link ################################################ | |||
set xmlhttp = createobject ("msxml2.xmlhttp.3.0") | |||
xmlhttp.open "get", "http://mods.oni2.net/node/38/index.html", false | |||
xmlhttp.send | |||
<nowiki>webtext = xmlhttp.responseText | |||
webtext = replace(replace(webtext, vbcr,""),vblf,"") | |||
webtext = split(webtext, "<table class=""sticky-enabled""> <thead><tr><th>Attachment</th>" )(1) | |||
webtext = split(webtext, "</td> </tr></tbody></table>") (0)</nowiki> | |||
link_start = instrrev(webtext, "http") | |||
link_end = instrrev(webtext, ".zip"" type") + 4 ' + zip | |||
' mid (text, begin, length) | |||
link = mid(webtext, link_start, link_end - link_start) | |||
logmessage "last link in attachment: " & link | |||
dim xHttp: Set xHttp = createobject("Microsoft.XMLHTTP") | |||
dim bStrm: Set bStrm = createobject("Adodb.Stream") | |||
xHttp.Open "GET", link, False | |||
xHttp.Send | |||
' get file name ################################################### | |||
hdr = xHttp.getResponseHeader("Content-Disposition") | |||
hdr = replace (hdr, "attachment; filename=""", "") | |||
hdr = replace (hdr, """", "") | |||
logmessage hdr | |||
' save file ####################################################### | |||
filename = output_dir & hdr | |||
with bStrm | |||
.type = 1 '//binary | |||
.open | |||
.write xHttp.responseBody | |||
.savetofile filename, 2 '//overwrite | |||
end with | |||
' extract file #################################################### | |||
UnzipFile filename, output_dir | |||
Function UnzipFile(ZipFile, ExtractTo) | |||
Set fso = CreateObject("Scripting.FileSystemObject") | |||
If NOT fso.FolderExists(ExtractTo) Then | |||
fso.CreateFolder(ExtractTo) | |||
End If | |||
set objShell = CreateObject("Shell.Application") | |||
set FilesInZip=objShell.NameSpace(ZipFile).items | |||
objShell.NameSpace(ExtractTo).CopyHere(FilesInZip) | |||
Set fso = Nothing | |||
Set objShell = Nothing | |||
End Function | |||
edits