Как преобразовать код "Function" на "Sub" - VB

Узнай цену своей работы

Формулировка задачи:

Excel работает как функция, как преобразовать код транслит на Word (Sub - End Sub) Код:
Листинг программы
  1. Public Function CYR2LAT(ByVal sCYR As String) As String
  2. Dim ci As Integer
  3. Dim iChars As Integer
  4. Dim ArrCYR
  5. Dim ArrLAT
  6. ArrCYR = Array("а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", _
  7. "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ь", "ъ", "ы", "э", "ю", "я", _
  8. "А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", _
  9. "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ь", "Ъ", "Ы", "Э", "Ю", "Я")
  10. ArrLAT = Array("a", "b", "v", "g", "d", "e", "zh", "z", "i", "y", "k", "l", "m", "n", "o", "p", _
  11. "r", "s", "t", "u", "f", "kh", "ts", "ch", "sh", "shch", "", "", "y", "e", "yu", "ya", _
  12. "A", "B", "V", "G", "D", "E", "Zh", "Z", "I", "Y", "K", "L", "M", "N", "O", "P", _
  13. "R", "S", "T", "U", "F", "Kh", "Ts", "Ch", "Sh", "Shch", "", "", "Y", "E", "Yu", "Ya")
  14. iChars = UBound(ArrCYR)
  15. 'Предобработка
  16. CYR2LAT = sCYR
  17. 'Замена Ё на Е
  18. CYR2LAT = Replace(CYR2LAT, "Ё", "Е")
  19. CYR2LAT = Replace(CYR2LAT, "ё", "е")
  20. 'Если первая в слове Е, то меняем на Йе
  21. CYR2LAT = ReReplace(CYR2LAT, "(^|[^А-Яа-я])Е", "$1Ye")
  22. CYR2LAT = ReReplace(CYR2LAT, "(^|[^А-Яа-я])е", "$1ye")
  23. 'Меняем Е после гласной и ЪЬ на Йе
  24. CYR2LAT = ReReplace(CYR2LAT, "([аяоёыиэеуюъьАЯОЁЫИЭЕУЮЪЬ])е", "$1ye")
  25. CYR2LAT = ReReplace(CYR2LAT, "([аяоёыиэеуюъьАЯОЁЫИЭЕУЮЪЬ])Е", "$1Ye")
  26. 'Замена по массиву
  27. For ci = 0 To iChars
  28. CYR2LAT = Replace(CYR2LAT, ArrCYR(ci), ArrLAT(ci))
  29. Next ci
  30. End Function
  31. Function ReReplace(ByVal ReplaceIn, ByVal ReplaceWhat As String, _
  32. ByVal ReplaceWith As String, Optional ByVal IgnoreCase As Boolean = False)
  33. Dim RE As Object
  34. Set RE = CreateObject("vbscript.regexp")
  35. RE.IgnoreCase = IgnoreCase
  36. RE.Pattern = ReplaceWhat
  37. RE.Global = True
  38. ReReplace = RE.Replace(ReplaceIn, ReplaceWith)
  39. End Function

Решение задачи: «Как преобразовать код "Function" на "Sub"»

textual
Листинг программы
  1.     Dim slovo As String
  2.     Dim slovo2 As String
  3.     Public Sub Command1_Click()
  4.        slovo = "преобразовать код транслит"
  5.        slovo2 = "текст для проверки №2"
  6.        Print slovo
  7.        Print slovo2
  8.        CYR2LAT (slovo)
  9.        Print slovo '
  10.       CYR2LAT (slovo2)  
  11.        Print slovo
  12.       End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы