ИТТ
В разделе собраны материал, необходимые для проведения занятий по дисциплине Информационные таможенные технологии.
Дисциплина «Информационные таможенные технологии» является составной частью основной профессиональной образовательной программы высшего образования подготовки выпускников по специальности 38.05.02 Таможенное дело.
Лабораторная работа 1
Лабораторная работа 2
Лабораторная работа 3
Лабораторная работа 4
Макрос для загрузки курсов валют
Public Function КУРС(ByVal КодВалюты As String, ByVal ДатаКурса As Date) As Double
If (UCase(КодВалюты) = "RUB") Then
КУРС = 1
Exit Function
End If
On Error Resume Next
КодВалюты = UCase(КодВалюты): If Len(КодВалюты) <> 3 Then Exit Function
Set xmldoc = CreateObject("Msxml.DOMDocument"): xmldoc.async = False
url_request = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=" + Format(ДатаКурса, "dd\/mm\/yyyy")
If xmldoc.Load(url_request) <> True Then Exit Function
Set nodeList = xmldoc.SelectNodes("ValCurs"): Set xmlNode = nodeList.Item(0).CloneNode(True)
Set node_attr = xmlNode.Attributes(0): strDate = node_attr.Value
Set nodeList = xmldoc.SelectNodes("*/Valute")
For i = 0 To nodeList.Length - 1
Set xmlNode = nodeList.Item(i).CloneNode(True)
If xmlNode.ChildNodes(1).Text = КодВалюты Then
CurrencyRate = CDbl(xmlNode.ChildNodes(4).Text)
divisor = Val(xmlNode.ChildNodes(2).Text)
КУРС = CurrencyRate / divisor
Exit Function
End If
Next
End Function
Печать курса валют на сегодняшний день
Public Sub КУРССЕГОДНЯ()
Dim row, col As Integer
On Error Resume Next
Set xmldoc = CreateObject("Msxml.DOMDocument"): xmldoc.async = False
url_request = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=" + Format(Now, "dd\/mm\/yyyy")
If xmldoc.Load(url_request) <> True Then Exit Sub
Set nodeList = xmldoc.SelectNodes("ValCurs"): Set xmlNode = nodeList.Item(0).CloneNode(True)
Set node_attr = xmlNode.Attributes(0): strDate = node_attr.Value
Set nodeList = xmldoc.SelectNodes("*/Valute")
col = ActiveCell.Column
row = ActiveCell.row
For i = 0 To nodeList.Length - 1
Set xmlNode = nodeList.Item(i).CloneNode(True)
ActiveSheet.Cells(row + 1, col).Value = xmlNode.ChildNodes(1).Text
ActiveSheet.Cells(row + 1, col + 1).Value = strDate
ActiveSheet.Cells(row + 1, col + 2).Value = xmlNode.ChildNodes(4).Text
ActiveSheet.Cells(row + 1, col + 3).Value = xmlNode.ChildNodes(2).Text
ActiveSheet.Cells(row + 1, col + 4).Value = xmlNode.ChildNodes(4).Text
row = row + 1
Next
End Sub
Коды валют
| КОД | Наименование |
|---|---|
| AUD | Австралийский доллар |
| AZN | Азербайджанский манат |
| GBP | Фунт стерлингов Соединенного королевства |
| AMD | Армянский драм |
| BYR | Белорусский рубль |
| BGN | Болгарский лев |
| BRL | Бразильский реал |
| HUF | Венгерский форинт |
| DKK | Датская крона |
| USD | Доллар США |
| EUR | Евро |
| INR | Индийская рупия |
| KZT | Казахский тенге |
| CAD | Канадский доллар |
| KGS | Киргизский сом |
| CNY | Китайский юань |
| LVL | Латвийский лат |
| LTL | Литовский лит |
| MDL | Молдавский лей |
| NOK | Норвежская крона |
| PLN | Польский злотый |
| RON | Новый румынский лей |
| XDR | СДР (специальные права заимствования) |
| SGD | Сингапурский доллар |
| TJS | Таджикский сомони |
| TRY | Турецкая лира |
| TMT | Новый туркменский манат |
| UZS | Узбекский сум |
| UAH | Украинская гривна |
| CZK | Чешская крона |
| SEK | Шведская крона |
| CHF | Швейцарский франк |
| EEK | Эстонская крона |
| ZAR | Южноафриканский рэнд |
| KRW | Вон Республики Корея |
| JPY | Японская иена |
Лабораторная работа 5
Макрос для построения отступа дерева ТНВЭД ЕАЭС
Dim cnt As Integer
Public Sub ДеревоТНВЭД()
cnt = 2
Call Nextpar(1, "")
End Sub
Public Sub Nextpar(pos As Integer, root As String)
Dim s1, s2, sfirst, slast As String
Dim j As Integer
j = 0
Do While ActiveSheet.Cells(cnt, 1) <> ""
s1 = ActiveSheet.Cells(cnt, 1)
s2 = ActiveSheet.Cells(cnt, 2)
If (j = 0) Then sfirst = s1
If (InStr(1, s1, root) = 1) Then
If (Len(sfirst) = Len(s1)) Then
ActiveSheet.Cells(cnt, 1).Value = ""
ActiveSheet.Cells(cnt, 2).Value = ""
ActiveSheet.Cells(cnt, pos).Value = s1
ActiveSheet.Cells(cnt, pos).Font.Bold = True
If (Len(s1) = 10) Then ActiveSheet.Cells(cnt, pos).Interior.Color = RGB(253, 255, 188)
ActiveSheet.Cells(cnt, pos + 1).Value = s2
If (Len(s1) <> 10) Then ActiveSheet.Cells(cnt, pos + 1).Font.Color = RGB(234, 234, 234)
slast = s1
Else
If (Len(s1) < Len(sfirst)) Then
Exit Do
Else
Call Nextpar(pos + 1, slast)
cnt = cnt - 1
End If
End If
Else
Exit Do
End If
cnt = cnt + 1
j = j + 1
Loop
End Sub