Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

MS Word. Методы работы в программе. Выпуск #17: Макросы (#2).


Информационный Канал Subscribe.Ru

...::Выпуск #17: Макросы (#2)::...


Доброго времени суток!

В архиве рассылки можно ознакомиться с предыдущими выпусками.

Продолжение о макросах.


Здравствуйте, я снова с вами :)
На мою первую статью приходят ответные письма. Что ж, остается только радоваться, что усилия не остаются втуне. Попробую ответить на первые заданные вопросы, попутно продолжив тему о своих любимых горячих клавишах, или хоткеях.
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.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.others.tosch
Отписаться

В избранное