TOP

NBU Web サイトから LibreOffice Calc への為替レートのインポート

NBU_RATE() 説明

LibreOffice Calc で NBU 為替レートを頻繁に使用する必要がある人向けの既製の関数。

から為替レートの値を自動的に取得するのに役立ちます。 NBUウェブサイト コードと日付によって異なります。


BASIC 関数 NBU_RATE のコード

NBU 為替レートをインポートする機能を追加するには、メニュー Tools - Macros - Edit Macros... を開き、Module1 を選択して、次のテキストをこのモジュールにコピーします。

Function NBU_RATE(ByVal pCurrency, ByVal pDate)
  'moonexcel.com.ua 
  Dim FCalc As Object
  
  If Len(pCurrency) = 0 Or Len(pDate) = 0 Then Exit Function             
      
  FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
  
  tDate = FCalc.callFunction("TEXT", Array(pDate,"YYYYMMDD"))
                                                    
  RequestString = "https://bank.gov.ua/NBU_Exchange/exchange_site?start=" & tDate & "&end=" & tDate & "&valcode=" & pCurrency
            
  WebServiceResponse = FCalc.callFunction("WEBSERVICE", Array(RequestString))  
  
  NBU_RATE = FCalc.callFunction("FILTERXML", Array(WebServiceResponse,"//rate_per_unit"))    
End Function

Macro Editor を閉じて、LibreOffice Calc に戻ります。

これで、NBU_RATE() 関数を手動で入力できるようになりました。この関数の構文は次のとおりです。

=NBU_RATE ( 通貨コード ; 日付 )

次の結果が得られます。

YouLibreCalc 拡張機能の使用

拡張子「」を設定することで、NBURATE() 関数を使用することもできます。 YouLibreCalc.oxt その後、この関数は LibreOffice Calc で開かれるすべてのファイルで使用できるようになります。