viyunov
04-05-2022, 15:11
так-как я в них не разбираюсь! но очень нужно! чтобы автоматом скачивал справочник бик в папку! https://www.cbr.ru/s/newbik
спасибо!
option explicit
Dim oXMLHTTP, WSH, FSO, objShell, oStream, html, index1, index2, TempFolder, ZipEd807, urlEd807, aErr, FilesInZip
const ExtractTo="C:\reestr\asvcheck\bik"
Set WSH = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
TempFolder = WSH.ExpandEnvironmentStrings("%TEMP%")
ZipEd807 = FSO.BuildPath(ExtractTo, "ED807.zip")
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0")
oXMLHTTP.Open "GET", "https://www.cbr.ru/PSystem/system_p/", False
On Error Resume Next
oXMLHTTP.Send
aErr = Array(Err.Number, Err.Description)
If oXMLHTTP.Status = 200 Then
html = oXMLHTTP.responsetext
index1 = InStr(1,html,"Справочник БИК")
index1 = InStr(index1,html,"vfs/?id=")
index2 = InStr(index1,html," ")
urlEd807 = "https://cbr.ru/" & Mid(html,index1,index2-(index1+1))
oXMLHTTP.Open "GET", urlEd807, False
On Error Resume Next
oXMLHTTP.Send
aErr = Array(Err.Number, Err.Description)
FSO.DeleteFile(ZipEd807), true
If oXMLHTTP.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Type = 1
oStream.Open
oStream.Write oXMLHTTP.responseBody
oStream.SaveToFile ZipEd807
oStream.Close
If NOT FSO.FolderExists(ExtractTo) Then
FSO.CreateFolder(ExtractTo)
End If
FSO.DeleteFile(ExtractTo & "*_807_full.xml"), false
Set FilesInZip=objShell.NameSpace(ZipEd807).items
objShell.NameSpace(ExtractTo).CopyHere(FilesInZip)
FSO.DeleteFile(ZipEd807File)
Else
WScript.Echo "open failed:", aErr(0), aErr(1)
End If
Else
WScript.Echo "open failed:", aErr(0), aErr(1)
End If
спасибо!
option explicit
Dim oXMLHTTP, WSH, FSO, objShell, oStream, html, index1, index2, TempFolder, ZipEd807, urlEd807, aErr, FilesInZip
const ExtractTo="C:\reestr\asvcheck\bik"
Set WSH = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
TempFolder = WSH.ExpandEnvironmentStrings("%TEMP%")
ZipEd807 = FSO.BuildPath(ExtractTo, "ED807.zip")
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0")
oXMLHTTP.Open "GET", "https://www.cbr.ru/PSystem/system_p/", False
On Error Resume Next
oXMLHTTP.Send
aErr = Array(Err.Number, Err.Description)
If oXMLHTTP.Status = 200 Then
html = oXMLHTTP.responsetext
index1 = InStr(1,html,"Справочник БИК")
index1 = InStr(index1,html,"vfs/?id=")
index2 = InStr(index1,html," ")
urlEd807 = "https://cbr.ru/" & Mid(html,index1,index2-(index1+1))
oXMLHTTP.Open "GET", urlEd807, False
On Error Resume Next
oXMLHTTP.Send
aErr = Array(Err.Number, Err.Description)
FSO.DeleteFile(ZipEd807), true
If oXMLHTTP.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Type = 1
oStream.Open
oStream.Write oXMLHTTP.responseBody
oStream.SaveToFile ZipEd807
oStream.Close
If NOT FSO.FolderExists(ExtractTo) Then
FSO.CreateFolder(ExtractTo)
End If
FSO.DeleteFile(ExtractTo & "*_807_full.xml"), false
Set FilesInZip=objShell.NameSpace(ZipEd807).items
objShell.NameSpace(ExtractTo).CopyHere(FilesInZip)
FSO.DeleteFile(ZipEd807File)
Else
WScript.Echo "open failed:", aErr(0), aErr(1)
End If
Else
WScript.Echo "open failed:", aErr(0), aErr(1)
End If