Option Explicit
Function fnКадастровыйНомер(s As String) As String
Dim a As String
Dim i As Long
Static RegExp As New RegExp
Dim objMatches As MatchCollection
Dim objMatch As Match
s = Replace(s, " ", "")
With RegExp
.IgnoreCase = False
.Global = True
.Multiline = True
.Pattern = "(\d{2}:\d{2}:\d{6,7}:\d{1,4})"
End With
If Not RegExp.Test(s) Then
fnКадастровыйНомер = 0
Exit Function
End If
Set objMatches = RegExp.Execute(s)
For i = 0 To objMatches.Count - 1
Set objMatch = objMatches.item(i)
a = a & objMatch.Value & ";" & Chr(10)
Next
a = Left(a, Len(a) - 2)
fnКадастровыйНомер = a
End Function
Function fnПлощадь(s As String) As String
Dim a As String
Dim i As Long
Static RegExp As New RegExp
Dim objMatches As MatchCollection
Dim objMatch As Match
s = Replace(s, " ", "")
With RegExp
.IgnoreCase = False
.Global = True
.Multiline = True
.Pattern = "([\d,]{1,8}кв\.м)"
End With
If Not RegExp.Test(s) Then
fnПлощадь = 0
Exit Function
End If
Set objMatches = RegExp.Execute(s)
For i = 0 To objMatches.Count - 1
Set objMatch = objMatches.item(i)
a = a & objMatch.Value & ";" & Chr(10)
Next
a = Left(a, Len(a) - 2)
fnПлощадь = Replace(a, "кв.м", "")
End Function
Function RegExPRepl(sString$, sFind$, sReplace$, Optional bIgnoreCase As Boolean = False, _
Optional bGlobal As Boolean = True, Optional bMultiLine As Boolean = True) As String
'Application.Volatile True
Static RegEx As RegExp
Dim s$
If RegEx Is Nothing Then Set RegEx = New RegExp
With RegEx
.Global = bGlobal
.Multiline = bMultiLine
.IgnoreCase = bIgnoreCase
.Pattern = sFind
End With
s = RegEx.Replace(sString, sReplace)
If Len(s) < 25 Then
RegExPRepl = s
Else
RegExPRepl = 0
End If
End Function
Function fnРегион(s As String) As String
'aequit 19.02.2020
s = Left(s, 2)
If s = "0" Then
fnРегион = "0"
Exit Function
End If
Static dicКадастрОкр As Dictionary
Dim key As String, item As String
If dicКадастрОкр Is Nothing Then
Set dicКадастрОкр = New Dictionary
dicКадастрОкр.Add "01", "Республика Адыгея"
dicКадастрОкр.Add "02", "Республика Башкортостан"
dicКадастрОкр.Add "03", "Республика Бурятия"
dicКадастрОкр.Add "04", "Республика Алтай (Горный Алтай)"
dicКадастрОкр.Add "05", "Республика Дагестан"
dicКадастрОкр.Add "06", "Республика Ингушетия"
dicКадастрОкр.Add "07", "Кабардино-Балкарская Республика"
dicКадастрОкр.Add "08", "Республика Калмыкия"
dicКадастрОкр.Add "09", "Республика Карачаево-Черкессия"
dicКадастрОкр.Add "10", "Республика Карелия"
dicКадастрОкр.Add "11", "Республика Коми"
dicКадастрОкр.Add "12", "Республика Марий Эл"
dicКадастрОкр.Add "13", "Республика Мордовия"
dicКадастрОкр.Add "14", "Республика Саха (Якутия)"
dicКадастрОкр.Add "15", "Республика Северная Осетия — Алания"
dicКадастрОкр.Add "16", "Республика Татарстан"
dicКадастрОкр.Add "17", "Республика Тыва"
dicКадастрОкр.Add "18", "Удмуртская Республика"
dicКадастрОкр.Add "19", "Республика Хакасия"
dicКадастрОкр.Add "20", "Чеченская Республика"
dicКадастрОкр.Add "21", "Чувашская Республика"
dicКадастрОкр.Add "22", "Алтайский край"
dicКадастрОкр.Add "23", "Краснодарский край"
dicКадастрОкр.Add "24", "Красноярский край"
dicКадастрОкр.Add "25", "Приморский край"
dicКадастрОкр.Add "26", "Ставропольский край"
dicКадастрОкр.Add "27", "Хабаровский край"
dicКадастрОкр.Add "28", "Амурская область"
dicКадастрОкр.Add "29", "Архангельская область"
dicКадастрОкр.Add "30", "Астраханская область"
dicКадастрОкр.Add "31", "Белгородская область"
dicКадастрОкр.Add "32", "Брянская область"
dicКадастрОкр.Add "33", "Владимирская область"
dicКадастрОкр.Add "34", "Волгоградская область"
dicКадастрОкр.Add "35", "Вологодская область"
dicКадастрОкр.Add "36", "Воронежская область"
dicКадастрОкр.Add "37", "Ивановская область"
dicКадастрОкр.Add "38", "Иркутская область"
dicКадастрОкр.Add "39", "Калининградская область"
dicКадастрОкр.Add "40", "Калужская область"
dicКадастрОкр.Add "41", "Камчатский край"
dicКадастрОкр.Add "42", "Кемеровская область"
dicКадастрОкр.Add "43", "Кировская область"
dicКадастрОкр.Add "44", "Костромская область"
dicКадастрОкр.Add "45", "Курганская область"
dicКадастрОкр.Add "46", "Курская область"
dicКадастрОкр.Add "47", "Ленинградская область"
dicКадастрОкр.Add "48", "Липецкая область"
dicКадастрОкр.Add "49", "Магаданская область"
dicКадастрОкр.Add "50", "Московская область"
dicКадастрОкр.Add "51", "Мурманская область"
dicКадастрОкр.Add "52", "Нижегородская область"
dicКадастрОкр.Add "53", "Новгородская область"
dicКадастрОкр.Add "54", "Новосибирская область"
dicКадастрОкр.Add "55", "Омская область"
dicКадастрОкр.Add "56", "Оренбургская область"
dicКадастрОкр.Add "57", "Орловская область"
dicКадастрОкр.Add "58", "Пензенская область"
dicКадастрОкр.Add "59", "Пермский край"
dicКадастрОкр.Add "60", "Псковская область"
dicКадастрОкр.Add "61", "Ростовская область"
dicКадастрОкр.Add "62", "Рязанская область"
dicКадастрОкр.Add "63", "Самарская область"
dicКадастрОкр.Add "64", "Саратовская область"
dicКадастрОкр.Add "65", "Сахалинская область"
dicКадастрОкр.Add "66", "Свердловская область"
dicКадастрОкр.Add "67", "Смоленская область"
dicКадастрОкр.Add "68", "Тамбовская область"
dicКадастрОкр.Add "69", "Тверская область"
dicКадастрОкр.Add "70", "Томская область"
dicКадастрОкр.Add "71", "Тульская область"
dicКадастрОкр.Add "72", "Тюменская область"
dicКадастрОкр.Add "73", "Ульяновская область"
dicКадастрОкр.Add "74", "Челябинская область"
dicКадастрОкр.Add "75", "Забайкальский край"
dicКадастрОкр.Add "76", "Ярославская область"
dicКадастрОкр.Add "77", "г. Москва"
dicКадастрОкр.Add "78", "г. Санкт-Петербург"
dicКадастрОкр.Add "79", "Еврейская автономная область"
dicКадастрОкр.Add "80", "Забайкальский край"
dicКадастрОкр.Add "81", "Пермский край"
dicКадастрОкр.Add "82", "Камчатский край"
dicКадастрОкр.Add "83", "Ненецкий автономный округ"
dicКадастрОкр.Add "84", "Красноярский край"
dicКадастрОкр.Add "85", "Иркутская область"
dicКадастрОкр.Add "86", "Ханты-Мансийский автономный округ " & Chr(150) & " Югра"
dicКадастрОкр.Add "87", "Чукотский автономный округ"
dicКадастрОкр.Add "88", "Красноярский край"
dicКадастрОкр.Add "89", "Ямало-Ненецкий автономный округ"
dicКадастрОкр.Add "90", "Республика Крым"
dicКадастрОкр.Add "91", "г. Севастополь"
End If
fnРегион = dicКадастрОкр.item(s)
End Function
|