Я думаю, что полезность программки для скачивания курсов НБУ никто оспаривать не будет. Мне лично приходилось решать эту задачку не раз, и всегда я решал ее по-новому. Не было бы сайта, наверное, и дальше бы продолжал решать ее раз за разом, но Вам ведь если и нужна такая программка, то универсальная.
      Как всегда, задачка решается с помощью модуля класса, внедряемого в проект MS Excel или MS Access. Ниже приведена ссылка на файл-пример.
      Рабочая книга Excel с примером.
      В этой рабочей книге Excel есть только один лист. Две первые строчки для настроек. Путь к директории, где хранятся файлы с курсами НБУ нужно уточнить у администратора. Программа использует файлы без письменной нагрузки (расширение *.v0?). Уверяю Вас, что в каждом банке найдется такая директория, например, "G:\NBU_POST\KURS".
      Ниже указывается дата файла. Сейчас она настроена на текущий день, но Вы можете вводить произвольную. Нужно учесть, что НБУ ежедневно рассылает курсы только 1-й группы классификатора. Курсы остальных валют устанавливаются раз в месяц и найти их можно только указывая перывый день месяца.
      Далее в табличке нужно указать код валюты или (по желанию - программе все равно) буквенное обозначение. Указывать их можно до 1000 :)
      Нажимайте кнопку загрузить. Если увидите сплошные ноли, значит неправильно указан путь. Если ноли покажутся только в некоторых строках - программа не нашла в файле соответствующего курса. Не забывайте, что в ежедневных файлах указываются курсы валют 1-й группы кодификатора. Нужно отметить, что модуль класса также поддерживает загрузку курсов остальных валют, но для этого нужно чуть-чуть разбираться в VBA.
      Итак, если в файле поменять только путь, то при нажатии кнопки загружаться будут курсы на текущий день. Таким образом, эту рабочую книгу вполне можно использовать в повседневной работе. Но если Вы хотите использовать модуль класса более эффективно, читайте описание ниже.
      Свойства:
      Directory As String - путь к директории с файлами курсов;
      RateDate As Date - дата загруженного файла (только для чтения);
      Методы:
      OpenRates (RDate As Date) as Boolean - открывает файл в соответствии с указанной датой RDate. Метод возвращает true при успешном заверешении;
      FindRate (Name As String) As Double - возвращает курс валюты по указанному имени (трехбуквенное обозначение или код). Если возвращается 0, то валюта в файле не найдена.
Пример использования:
Public Sub LoadRates()
      Dim NR as New NBU_Rates 'Создание нового экземпляра класса
      With NR
            .Directory="G:\NBU_POST\KURS" 'Указываем директорию
            'Открытие файла текущего дня
            'Если при открытии происходит ошибка, то
            'выводится сообщение.
            if .OpenRates (Date) = False Then
                  MsgBox "Файл не найден!"
                  Exit Sub
            End If
            'Вывод в окне отладки курса доллара США
            Debug.Print .FindRate ("USD")
      End With
End Sub