Функция SplitLanguages предназначена для отделения русских слов от английских(для разбиения заданной текстовой строки на две, в одной из которых будут только русские слова, а в другой - только английские) Знаки препинания, пробелы, и прочие символы, не относящиеся к конкретному языку, попадают в обе строки. Например, дана исходная строка "Разработка VBA макросов для программы Microsoft Excel" Функция возвратит 2 строки: русскую "Разработка макросов для программы", и английскую "VBA Microsoft Excel" Sub ПримерИспользования() txt = "Разработка VBA макросов для программы Microsoft Excel" РусскаяЧасть = SplitLanguages(txt)(0) АнглийскаяЧасть = SplitLanguages(txt)(1) Debug.Print РусскаяЧасть ' результат: "Разработка макросов для программы" Debug.Print АнглийскаяЧасть ' результат: "VBA Microsoft Excel" End Sub Код функции SplitLanguages: Function SplitLanguages(ByVal txt As String) ' функция принимает в качестве параметра текстовую строку, ' содержащую слова на разных языках ' возвращает массив из 2 значений: русские слова (0), английские слова (1) Dim arr(0 To 1) For i = 1 To Len(txt) letter = Mid$(txt, i, 1) If letter Like "[!A-z]" Then arr(0) = arr(0) & letter If letter Like "[!А-я]" Then arr(1) = arr(1) & letter Next i arr(0) = Application.Trim(arr(0)): arr(1) = Application.Trim(arr(1)) SplitLanguages = arr End Function Внимание: для использования кода не в Excel (в VB, или других приложениях Office) arr(0) = Application.Trim(arr(0)): arr(1) = Application.Trim(arr(1)) на arr(0) = Trim(arr(0)): arr(1) = Trim(arr(1)) (поскольку Application.Trim - это встроенная функция Excel) Функцию SplitLanguages можно использовать и в качестве формулы на листе Excel
|
|||||||

Комментарии
Отправить комментарий