Сами обновляться не будут.
Можно сделать внешним файлом, который заполнит нужный лист начиная с указанной строки
Для обновления надо будет закрыть эксель и запустить ярлык на файл, который сам запустит эксел.Укажите свой путь к файлу, лист для импорта и строку с которой располагать данные
Файл надо будет сохранить в кодировке windows-1251 с расширением .js
например НБУ.js
Возможно надо будет добавить этот файл в список исключений антивируса
если доработать то база будет нарастать каждый день
=============Вот примитивное решение вопроса (текст файла НБУ.js)====================
файл_экселя="D:\123\НБУ.xlsx" //////путь к файлу
лист_курсов="Лист1" //////лист для импорта
import_from=3 //////строк с которой располагать данные
exl=new ActiveXObject("EXCEL.Application")
exl.visible=true
exl.Workbooks.Open(файл_экселя)
xhr=getXmlHttp()
xhr.open('GET','http://index.minfin.com.ua/chart/',false)
xhr.send(null);
html=''
if(xhr.status == 200) {
html=xhr.responseText;
}else{WScript.Echo("Не загружается")
WScript.Quit(1)}
t_bg=html.match(/100 /i)
t_bg=t_bg.index
html=html.substr(t_bg)
t_fn=html.match(/<\/table/i).index
html=html.substring(0,t_fn)
t_bg=html.match(/<TR/i).index
t_fn=html.match(/<\/TR/i).index
html=html.substr(t_fn+1)
lin=import_from
while(t_bg>0){
t_bg=html.match(/<TR/i)
if(!t_bg)break
t_bg=t_bg.index
t_fn=html.match(/<\/TR/i).index
line=html.substring(t_bg,t_fn)
info=line.match(/(\d{2}.\d{2}.\d{4}).+>(\D{2})<.+>([\d,]+)<.+>([+-][\d.]+)<.+>(<wbr />[+-][\d.]+)&/)
exl.Sheets(лист_курсов).Select
exl.Range("A"+lin).Select;exl.ActiveCell.FormulaR1C1 = info[1]
exl.Range("B"+lin).Select;exl.ActiveCell.FormulaR1C1 = info[2]
exl.Range("C"+lin).Select;exl.ActiveCell.FormulaR1C1 = info[3].replace(/,/g,".")
exl.Range("D"+lin).Select;exl.ActiveCell.FormulaR1C1 = info[4]
exl.Range("E"+lin).Select;exl.ActiveCell.FormulaR1C1 = info[5]
lin+=1
html=html.substr(t_fn+1)
}
function getXmlHttp(){
var xmlhttp;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}