pos Ч» InStr^Sheets{'"sheeti").Range(Ma2,r)/ T ") 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

pos Ч» InStr^Sheets{'"sheeti").Range(Ma2,r)/ T ")

Поиск

Таблица 8

Параметры строки-шаблона

Символы Э строке-шаблоне

Совпадающие символы в строке

?.

Любой одиночный символ

*

Любое количество символов (от 0 и больше)

#

Любая одиночная цифра (0—9)

[список символов]

Любой одиночный символ в списке символов

{{список

символов]

Любой одиночный символ, не входящий в список символов                                            

 

Использование функций работы со строками

Д*1ПРИМЕРЫ

Пример 1. Применение строковых функций Left, Right, Len: Sub Button! _ Click(■)

'возвращаем номер позиции, в которой находится пробел

pos Ч» InStr^Sheets{'"sheeti").Range(Ma2,r)/ T ")

If pos щ 0 Then Exit Sub End If

'выделяем из строкилевую и правую части1 Left {Sheets ('' sheeti'',), Range {"а2 "), pos - 1)

r=Right(SheetsС 'sheeti”) .Range(' 'a2"),, Val (Len(SheetsC 'sheeti''). Range("a2”)) ,^.pos .^1)) (

'добавляем между,;ними пробелы,

jj” feq/Д Г

l = i & " "

Next

'Slie^s Г ' sheeti'*') .‘feange (J ’ajz'' fend Sub

Пример 2. Реализация некоторых встроенных функций:

Function MyLpft$ (MySti.ng$, NumLeft%);

'выделить NumLeft левых символа^ L MyString$ /f Mid${MyStj:ing$,“" NumLnf^%),‘

End Function

Function MyLtRim$ (MyStin<£$) v 'убрать левые пробелы Dim NumS%

Do

NumS% 4NumS% + 1

Loop While Mid$(MyString$, NumS%, T) = ” T' MyLtRim$ ~ Mid$ (MyString$, NumS%, Len(MyString$) NumS% + 1) •

End Function

\ \

Пример 3. Произведем инверсию всех байтов, хранящихся в переменной Source$. Можно предложить два варианта решения задачи:

 

ЗАДАНИЯ

Каждый учащийся должен выполнить упражнения своего варианта из блоков А и Б.

Разработайте макрос, который:

заполняет одномерный массив случайными числами в ди­апазоне от 58 до 255. Считая, что значения элементов массива — это ASCII-коды символов, сформируйте и выведите на экран со­ответствующую им текстовую строку. Результат работы макроса должен выглядеть аналогично приведенному на рисунке 4;

выводит таблицу символов и соответствующих им ASCII- кодов в окно immediate. Результат работы макроса должен вы­глядеть аналогично приведенному на рисунке 5;

выводит ASCII-код символа, введенного пользователем с клавиатуры. Символ вводится в поле окна, заданного функцией inputBox; ASCII-код символа и сам символ выводятся в окно, заданное функцией MsgBox. Макрос должен выполняться до тех пор, пока пользователь не введет слово «and». Выполнение программы должно прекратиться независимо от того, какими

 

буквами будет введено слово (прописными или строчными), и наличия пробелов перед или после слова end;

— в предложенном тексте (вводится в окно, заданное функци­ей inputBox) выделяет первое и последнее слова. Операция вы­полняется до тех пор, пока не введена пустая строка. Для поиска позиции пробела в строке можно использовать функции Instr и InStrRev. Результат выведите в виде списка в окно immediate;

— дополняет строки символами справа или слева до заданной длины. Предоставьте пользователю возможность выбрать, с какой стороны дополнять, символ для дополнения, длину строки.

Например, если пользователь ввел:

строку: гр. I15«i-- лучшая;

символ: о;

длину строки: 20;

сторону дополнения: справа.

Результат работы макроса'.

гр. 115

— в предложенном тексте (вводится в окно, заданное функ­цией inputBox) выделяет среднюю часть (часть без первого и по­следнего слова). Операция выполняется до тек пор, пока не вве­дена пустая строка. Для поиска позиции пробела в строке можно использовать функции instr и iMtifKfev. Результат выведите в окноImmediate;

— в предложенной строке произвольного текста (вводится в окно, заданное функцией InputBox) позволяет преобразовать текст, заменяя любое вхождение слова «мама» словом «бабушка»;

в предложенной строке символов (вводится в окно, за­данное функцией InputBox) подсчитывает; сколько раз в сумме встречаются символы «—», «*», и заменяет все «*» на «а»;

предложенный текст преобразует следующим образом:



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 7; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.147.63 (0.008 с.)