TOP

Импорт курсов валют с сайта НБУ в LibreOffice Calc

NBU_RATE() Описание

Готовая функция для тех, кому часто приходится использовать курсы валют НБУ в LibreOffice Calc .

Помогает автоматически получать значение курса валюты с сайта НБУ по ее коду и дате.


StarBASIC код для функции NBU_RATE

Чтобы добавить функцию импорта курсов валют НБУ , откройте меню Tools - Macros - Edit Macros... , выберите Module1 и скопируйте следующий текст в этот модуль:

  1. Function NBU_RATE(ByVal pCurrency, ByVal pDate)  
  2.   'moonexcel.com.ua   
  3.   Dim FCalc As Object  
  4.     
  5.   If Len(pCurrency) = 0 Or Len(pDate) = 0 Then Exit Function               
  6.         
  7.   FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")  
  8.     
  9.   tDate = FCalc.callFunction("TEXT", Array(pDate,"YYYYMMDD"))  
  10.                                                       
  11.   RequestString = "https://bank.gov.ua/NBU_Exchange/exchange_site?start=" & tDate & "&end=" & tDate & "&valcode=" & pCurrency  
  12.               
  13.   WebServiceResponse = FCalc.callFunction("WEBSERVICE", Array(RequestString))    
  14.     
  15.   NBU_RATE = FCalc.callFunction("FILTERXML", Array(WebServiceResponse,"//rate_per_unit"))      
  16. End Function  

Закройте Macro Editor и вернитесь в LibreOffice Calc .

Теперь Вы можете вручную ввести нашу функцию NBU_RATE() . Синтаксис этой функции таков:

=NBU_RATE ( код валюты ; дата )

У нас будет такой результат:

Использование расширения

Вы также можете воспользоваться функцией NBUA() установив бесплатное расширение YouLibreCalc.oxt или его полнофункциональную версию YLC_Utilities.oxt .

После этого данная функция будет доступна во всех файлах, которые будут открыты в LibreOffice Calc.