Критикуйте
- Код: Выделить всё
Public Enum VFormat
ddmmyy = 1 '18.09.09
ddmmyyyy = 2 '18.09.2009
yyyymmdd = 3 '2009.09.18
dd_mmmm_yyyy = 4 '18 Сентябрь 2009
mmmm = 5 'Сентябрь
mmmmRP = 6 'Сентября
mmmm_yyyy = 7 'Сентябрь 2009
mmmmRP_yyyy = 8 'Сентября 2009
mmSmall = 9 'Сен
dd_mmmmRP_yyyy = 10 '18 Сентября 2009
End Enum
Public Function meDateFormat(ValDate, ValFormat As VFormat)
Dim ArrMonth As Variant, ArrMonthRP As Variant, ArrMonthSmall
Dim isMonth, isDay, isYear
ArrMonth = Array("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь")
ArrMonthRP = Array("Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря")
ArrMonthSmall = Array("Янв", "Фев", "Мар", "Апр", "Мая", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек")
If IsDate(ValDate) = False Then DateFormat = False: Exit Function
isDay = Format(ValDate, "dd")
isMonth = Format(ValDate, "mm") - 1
isYear = Format(ValDate, "yyyy")
Select Case ValFormat
Case 1
meDateFormat = Format(ValDate, "dd.mm.yy")
Case 2
meDateFormat = Format(ValDate, "dd.mm.yyyy")
Case 3
meDateFormat = Format(ValDate, "yyyy.mm.dd")
Case 4
meDateFormat = isDay & " " & ArrMonth(isMonth) & " " & isYear
Case 5
meDateFormat = ArrMonth(isMonth)
Case 7
meDateFormat = ArrMonth(isMonth) & " " & isYear
Case 6
meDateFormat = ArrMonthRP(isMonth)
Case 8
meDateFormat = ArrMonthRP(isMonth) & " " & isYear
Case 9
meDateFormat = ArrMonthSmall(isMonth)
Case 10
meDateFormat = isDay & " " & ArrMonthRP(isMonth) & " " & isYear
End Select
End Function