|
|
Преобразование длинного ФИО в краткий формат ("Пушкин А.С.")
Public Function FIOShort(vFIO As Variant) As Variant
Dim s As String
Dim sFam$, sImia$, sOth$
Dim i%, x%
On Error GoTo FIOShort_Err
s = CStr(vFIO)
s = Trim(Replace(s, " ", " "))
x = Len(s)
i = InStr(1, s, " ")
If i > 1 Then
FIOShort = Mid(s, 1, i - 1)
Else
FIOShort = s
Exit Function
End If
sImia = UCase(Mid(s, i + 1, 1)) & "."
FIOShort = FIOShort & " " & sImia
i = InStr(i + 2, s, " ")
If i > 0 Then
sOth = UCase(Mid(s, i + 1, 1)) & "."
FIOShort = FIOShort & sOth
End If
FIOShort_End:
Exit Function
FIOShort_Err:
Err.Clear
Resume FIOShort_End
End Function
Выражение на эту же тему:
=IIf(InStr(InStr([ФИО];" ")+1;[ФИО];" ")>0;Mid([ФИО];1;InStr([ФИО];" ")-1) & (" "+Mid([ФИО];InStr([ФИО];" ")+1;1)+".") & (" "+Mid([ФИО];InStrRev([ФИО];" ")+1;1)+".");Mid([ФИО];1;InStr([ФИО];" ")-1) & (" "+Mid([ФИО];InStr([ФИО];" ")+1;1)+"."))
|
|