В архиве рассылки можно ознакомиться с предыдущими выпусками.
Продолжение о макросах.
Здравствуйте, я снова с вами :) На мою первую статью приходят ответные письма. Что ж, остается только радоваться,
что усилия не остаются втуне. Попробую ответить на первые заданные вопросы,
попутно продолжив тему о своих любимых горячих клавишах, или хоткеях.
Maxim Toguzaev пишет:"Давно
пора сделать что-то такое по тематике "макросы", но есть один вопрос - Можно
ли сделать тоже самое с другими офисными приложениями? Excel и Access остаются
всегда в стороне, а хотелось бы поработать и с ними. :)))"
В Excel'е тоже есть макросы, очень похожи на Word'овские, однако имеющие небольшие
отличия за счет того, что им приходится работать с таблицами. При работе на
"магнитофонном" уровне разницы практически никакой. Access'овские макросы -
это отдельная песня, они довольно сложны для понимания , хотя это - единственное
приложение, для которого макросы, да и справка по ним русифицированы.
Что касается того, что Excel и Access остаются в стороне… Рассылка все-таки
посвящена Word'у. Я думаю, стоит выяснить на этот счет мнение основателя рассылки
- Антона. (Можно всё, но, во-первых, несколько позже, а во-вторых, если кто-нибудь и чем-нибудь поможет - те же обзоры писать, как Максим, отдельный ему респект за помощь. Если есть желание и силы - пишите на эмайл. - прим. Антон). Татьяна Телиш пишет:"Неплохо
было бы привести еще несколько примеров применения макросов."
Обязательно :)
"Является ли макрос отдельной программой (независимой
от ворда), насколько сложные функции способен выполнять макрос ...?"
Тут дело вот в чем. Есть такой язык программирования - Microsoft Visual Basic.
При создании Microsoft Office в него впихнули специальную разновидность Visual
Basic'а - VBA, Visual Basic Applications. При этом по сравнению с основой VBA
лишился некоторых функций, зато у него появились новые возможности, ориентированные
на работу с офисными приложениями. Можно сказать, что Visual Basic лишился универсальности
в угоду специализированности. На самом деле при записи макроса Word переводит
действия пользователя в функции VBA, и хранит в памяти в виде программы, а при
запуске макроса эту программу выполняет. Так что, как видите, вроде бы макрос
- это и независимая программа, но без Office'а работать не будет.
О возможностях макросов. Человек, хорошо знающий программирование, способен
написать макрос, убивающий всю систему к чертям (случаи были). Можно написать
вирус. Но это все негативное примеры, на них мы останавливаться не будем :).
А что касается "мирного применения", то я, например, в свое время из-под Excel'я
написал простенькую такую игру (знаете, где надо парные картинки находить).
Так что возможности макросов ограничены только уровнем подготовки и фантазией
автора :).
NXARN пишет: "К теме макросов
для добавления и удаления строк. Можно вообще не использовать макросы в данном
случае, и во многих других...
"Настройка - клавиатура - таблицы" :
TableInsertRowAbove - добавление строки вверх
TableInsertRowBelow - добавление строки вниз
TableInsertColumnRight - добавление столбца справа от
текущего и множество других... в том числе выбор шрифта, стиля, вставка символа."
Нет, так нечестно… Я как раз собирался рассказать о стандартных сочетаниях
клавиш, даже придумал начало статьи, а меня уже опередили :). Что ж, буду оправдываться.
Конечно, я знал об этих командах, однако мне важнее было показать, КАК записываются
макросы. Вот я и привел такой простейший пример, ведь работать с таблицами и
строками в них приходится практически всем в Word'е. Да, этот макрос из одной
только строки, но ведь это только начало! Ну ладно, хватит оправданий. Для тех, кто всерьез решил повысить скорость работы
в Word'е, предлагаю проделать следующее: "Сервис" - "Настройка" - "Параметры"
- ставим галочку "Включить в подсказки сочетания клавиш" (по умолчанию эта очень
полезная опция отключена). После этого наведите мышку на панель инструментов.
Теперь, если какой-либо команде назначен хоткей, он будет отражен в появляющемся
меню. Так можно, например, узнать, что для выравнивания выделенного текста по
левому полю служит сочетание Ctrl + L, по правому - Ctrl + R, а по ширине -
Ctrl + J.
Можно распечатать список ВСЕХ команд вместе с горячими клавишами и использовать
его потом в качестве справки. Сделаем мы это так: выберем "Сервис" - "Макрос"
- "Макросы" (или просто нажмем Alt + F8). В появившемся диалоговом окне в выпадающем
меню "Макросы из: " выберем опцию "Команд Word". В верхнем поле в длинном списке
команд найдем нужную нам команду ListCommands. Нажмем кнопку "Выполнить". Появится
выбор из двух опций. Если вы выберете пункт "Текущие настройки меню и клавиш",
во вновь созданном документе будут отражены только те команды, для которых назначены
хоткеи и пункты меню. Если же вы выберете "Все команды Word", то все команды
и будут выведены в таблицу, причем если какой-то команде сопоставлено сочетание
клавиш, то оно будет указано. Конечно, все команды на английском, но разобраться
в них возможно. И каждой из них можно назначить горячие клавиши!
Ну, и напоследок - еще один пример макроса. Когда я взялся писать для этой
рассылки, то обнаружил, что частенько приходится переключаться с русского на
английский язык, чтобы написать слова "Word'овский", "Excel" и т.п. После второго
раза мне это надоело. Можно было, конечно, указать в параметрах автозамены что-нибудь
вроде ""ъъъ" заменять на "Word"", но меня здорово раздражает необходимость ставить
пробел, а потом его забивать, чтобы дописать концовку слова. Поэтому я:
1. Переключился на латинский шрифт;
2. Начал запись макроса;
3. Ввел слово "Word'";
4. Закончил запись.
Затем такую же операцию проделал со словом "Excel'". Теперь эти слова появляются
у меня при нажатии Ctrl + Alt + W и Ctrl + Alt + E соответственно. Я экономлю
время на переключении клавиатуры и написании этих слов. Возможно, это и мелочь,
но из таких мелочей складывается скорость и удобство работы. Не устану повторять
- не подстраивайтесь под компьютер, лучше сами подстраивайте его под себя!
PS. Я уже хотел отправлять статью, когда получил интересное письмо от Boris
Kamen: "При повторном открытии файла с записанным
макросом система каждый раз предупреждает о возможном наличии вируса. Это предупреждение
остается и после удаления макроса. Причем, если запретить действие макросов
(даже удаленных из файла), то отредактированный файл не хочет сохраняться. Есть
ли простой способ избавиться от этого, не снижая уровень защиты?"
Возможно, у вас не установлена галочка "Сервис" - "Макрос" - "Безопасность"
- "Надежные источники" - "Доверять всем установленным шаблонам и надстройкам".
Что касается несохранения документа - непонятно, возможен какой-то системный
глюк, а вообще, поиграйтесь со вкладками "Сервис" - "Параметры" - "Сохранение"
и "Сервис" - "Параметры" - "Безопасность". Не забывайте перезапускать Word после
внесения изменений в настройках.
Если у вас появились вопросы, или вы хотите предложить тему для статьи, пишите
на makc_macros@bk.ru, при этом прошу придерживаться следующих правил:
1) В поле "Тема" обязательно укажите слово "макросы", остальные письма просто
будут отсеиваться фильтром (это я так от спамеров защищаюсь:))
2) Размер письма не должен превышать 40 Кб. До свидания!
На сегодня всё.
Спасибо за внимание!
Всем удачи!
P.S. comp.soft.others.tosch-owner@subscribe.ru - почта ведущего рассылки (с темой Word). Направляйте свои предложения, комментарии и вопросы относительно рассылки. Вопросы относительно работы программы MS Word, а так же проблемы, с которыми вы столкнулись, лучше обращаться на форум (я не успеваю отвечать на эти вопросы, их много, а я один) - http://MsWord.fastbb.RU.