В архиве рассылки можно
ознакомиться с предыдущими выпусками.
Максим продолжает свой рассказ о макросах.
Здравствуйте, я снова с вами :)
Сегодняшний выпуск я хотел бы начать с ответа на вопрос, пришедший ко мне. Думаю,
затронутая проблема будет интересна многим.
Андрей пишет:" Возник такой вопрос по
макросам: они с рисунками работают? Пришлось вставлять документ большое количество
рисунков, каждый нужно было форматировать (например, изменить, обтекание, яркость,
выравнивание, расстояние до текста,...) и так много раз. Хотел записать макрос, но
ничего не получилось, т.к. изменение параметров обтекания недоступно. Остальные параметры
уже даже не проверял - бессмысленно.
Так можно записать макрос для форматирования рисунков?"
Сначала необходимо преобразовать рисунок в объект. При непосредственной работе такое
преобразование происходит автоматически, а при записи макроса - нет. Выполняет эту задачу
функция ConvertToShape
Чтобы применить эту функцию:
1) Нажмите Alt+F8;
2) В строке для названия макроса введите любое имя, например, "конвертер_рисунков";
3) Нажмите кнопку "Создать"
4) Вы попадете в окно редактора VBA, увидите ранее записанные вами макросы и что-то
вроде:
Sub конвертер_рисунков
'
' конвертер_рисунков Макрос
' Макрос создан 21.02.05 makc
'
End Sub
5) курсор уже стоит в нужной позиции, поэтому просто введите следующую строку:
ActiveDocument.InlineShapes(1).ConvertToShape
6) Сохранитесь (Ctrl + S или File=>Save normal).
7)Можно закрыть окно редактора VBA и возвратиться в текущий документ. Теперь, если вы все
сделали правильно, у вас появится макрос, который можно применить к выделенному
рисунку. О том, что преобразование произошло, вы узнаете по изменению рамки рисунка
(появятся такие кружочки по углам).
Теперь можно записывать макрос, работающий с получившимся объектом.
Для того, чтобы изменить параметры обтекания и другие настройки, воспользуйтесь
диалоговым окном "Формат рисунка".
А теперь - сегодняшний макрос. При работе в Word'е многие иногда забывают переключать
раскладку с английского на русский язык. Приходится, тихо чертыхаясь, перепечатывать текст.
Есть специальные утилитки, позволяющие решить эту проблему; мы попробуем решить ее
макросом.
Для этого вам придется скачать текст макроса отсюда. Затем надо повторить все действия,
которые описаны выше в ответе Андрею, под пунктами 1-6, однако с некоторыми отличиями: надо
ввести другое имя для макроса и в п.5 вместо ввода одной строки придется скопировать макрос
полностью.
Небольшая ложка дегтя: если в тексте, набранном английскими буквами, присутствовала точка
(русская "ю"), то и в первоначальном, и в преобразованном тексте следующий символ получится
прописным. Теоретически это исправляется программным путем, практически - меня устраивает и
такой вариант :) Затраты времени на исправление несопоставимы с выгодой, полученной от
него.
А теперь - ВНИМАНИЕ! Учтите, что этот макрос сравнительно сложен, и возможно, не станет
работать с первого раза. Не стоит сразу начать писать гневные письма - просто внимательно
перечитайте инструкцию, как вставить макрос - вероятнее всего, вы просто где-то ошиблись.
Если у вас появились вопросы, или вы хотите предложить тему для статьи, пишите на
makc_macros@bk.ru, при этом прошу придерживаться следующих правил:
1) В поле "Тема" обязательно укажите слово "макросы", остальные письма просто будут
отсеиваться фильтром (это я так от спамеров защищаюсь:))
2) Размер письма не должен превышать 40 Кб.
До свидания!
Спасибо за внимание!
Всем удачи!
P.S. comp.soft.others.tosch
-owner@subscribe.ru - почта ведущего рассылки (с темой Word). Направляйте свои
предложения, комментарии и вопросы относительно рассылки. Вопросы относительно работы
программы MS Word, а так же проблемы, с которыми вы столкнулись, лучше обращаться на форум
(я не успеваю отвечать на эти вопросы, их много, а я один) - http://MsWord.fastbb.RU.