Компьютер для блондинок. Мы написали полезный макрос (Selection, MoveRight, MoveLeft, TypeText). |
Автор megabax | |||
26.11.2009 г. | |||
Мы написали полезный макрос (Selection, MoveRight, MoveLeft, TypeText).- Что интересное ты покажешь нам нам это раз? - спросила Лена.- Да, надеюсь, это будет не "Hello world!", как в прошлый раз, - добавила я. - Сегодня мы напишем кое что посложнее, - заверил нас Коля и открыл Word. - Что, опять макросы будем писать? - задала вопрос Лена. - Да, потому что макросы это самое легкое. Как записать его вы помнить, да? - Да, нужно войти в меню "Сервис" -> "Макрос" -> "Начать запись", - сказала я. - Да, верно, - с этими словами Коля произвел эти действия и набрал: Это наша вторая программа. Она будет посложней. Затем он выделили слово "программа" жирным и остановил запись, после чего показал нам текст макроса:
- Это программа, - сказал Коля, - которая выводит текст "Это наша вторая программа. Она будет посложней. " и делает слово "программа" жирным шрифтом. Посмотрите, как она устроена. Видите строку Selection.TypeText Text:= "Это наша вторая программа. Она будет посложней. " Эта строка как раз и выводит на экран надпись. А следующая Selection.MoveLeft Unit:=wdCharacter, Count:=32 сдвигает курсор на 32 позиции влево. - А ниже нее на 9 позиций вправо? - Предположила я. - Совершенно верно. - А почему так, а не просто на 23 позиции влево? - спросила Лена. - А ты посмотри на эту строчку внимательнее. видишь отличия? - Да, там есть Extend:=wdExtend. - Вот как раз этот модификатор "Extend:=wdExtend" обозначат, что курсор нужно двигать с выделением текста. Как будьто мы его мышкой выделили. Заметили, что вправо я двигал курсор уже держа нажатой клавишу Shift? - Да, заметили, - ответили мы враз. - А "Selection.Font.Bold = wdToggle" - это, наверное, сделать текст жирным, - предположила Лена. - Совершенно верно, - ответил Коля - Ладно, хорошо, - говорю я, - а какая от всего этого практическая польза? - Ну, можно, например, написать программку, которая выделяет жирным десять символов слева от курсора, - произнес программист. - А зачем? - Ну, как зачем? Что бы научиться программировать... - Стоп стоп! - вмешалась Лена, - я так понимаю, что Юлька хочет написать программу, которая будет делать что то нужное. Юль, я тебя правильно поняла? - Да, - ответила я. - Тогда давайте создадим макрос, который выделяет не 10 букв слева от курсора, а целое слово. Коль, это можно устроить? Программист на несколько секунд задумался, словно зависший компьютер, затем уверенно и радостно произнес: - Легко! Она снова включил режим записи макроса, набрал текст "Слово слово слово слово слово", затем каким то хитрым образом стал прыгать по словам, выделил одним нажатием на кнопку целое слово. Появившаяся в результате его манипуляций программа выглядела вот так:
- Ты же сказал, что надо нормально называть программы, а не "Макрос1, Макрос 2 ...", - сказала Юлька, увидев в тексте слово "Макрос6". - Да, абсолютно верно. Он исправил название на "ВыделениеСлова", затем переключился на Word, зашел в меню "Сервис" -> "Макрос" -> "Макросы...". Открылось вот такое окно: - Вот, - сказал Коля, - название изменилось. Если выделить макрос и нажать выполнить, то программа отработает, будет выделено слово слева от курсора. - Это все хорошо, - говорю я, - но только не удобно как то так по извратному макрос вызывать. Его нельзя на "горячую клавишу" повестить? Программист немного подумал, потом сказал: - Ну, можно попробовать записать новый макрос, но заранее при этом назначить ему "горячую" клавишу, а потом просто в него, вместо того, что комп туда назаписывал, вставить нашу программу. - А попроще нельзя? - К сожалению, если мы заранее не назначили "горячую клавишу" на макрос, то назначить уже нельзя. Только вот таким извратным способом. - Дурдом какой то, - произнесла Лена. - Ладно, нам пора. Вижу, польза от макросов есть, - сказала я, - но программировать мы еще пока не начинали, только все макросы да макросы создаем. - Ладно, в следующий раз уже программу будем делать.
|
|||
Последнее обновление ( 12.05.2013 г. ) |
« След. | Пред. » |
---|