Microsoft Word – это один из моих основных инструментов для создания записей блога, в которых традиционно много снимков экрана. Сегодня я покажу вам интересный макрос, который экономит массу времени при работе с такими документами.
С приходом Windows 8 и ее полноэкранных приложений в моих документах выросло число больших картинок, что затрудняло написние текста и навигацию. Word не запоминает масштаб последней вставленной картинки, подгоняя ее под размер страницы. Но даже если уменьшать каждое изображение вручную, то для публикации в блоге мне в итоге все равно нужны картинки в масштабе 100%.
Я решил упростить себе жизнь!
Как выглядит макрос
Недолгие поиски привели меня к макросу, который одним сочетанием клавиш позволяет задать одинаковый масштаб всем картинкам документа Word.
В основе лежит код VBA.
Sub AllPictSize() Dim PercentSize As Integer Dim oIshp As InlineShape Dim oshp As Shape PercentSize = InputBox("Enter percent of full size", "Resize Picture", 100) For Each oIshp In ActiveDocument.InlineShapes With oIshp .ScaleHeight = PercentSize .ScaleWidth = PercentSize End With Next oIshp For Each oshp In ActiveDocument.Shapes With oshp .ScaleHeight Factor:=(PercentSize / 100), _ RelativeToOriginalSize:=msoCTrue .ScaleWidth Factor:=(PercentSize / 100), _ RelativeToOriginalSize:=msoCTrue End With Next oshp End Sub
Шестая строка определяет стандартный масштаб, отображаемый в диалоге.
Как добавить макрос
Проще простого!
- В Word нажмите сочетание клавиш Alt + F11, вставьте код в редактор, нажмите Ctrl + S, затем Alt + F4.
- Нажмите Alt + F8 и запустите макрос AllPictSize. Все!
Для полного счастья в настройках ленты я повесил на макрос сочетание клавиш Alt + P.
Обратите внимание, как сокращаются инструкции, когда в них включаются сочетания клавиш. Даже картинки не нужны :) Кстати, я посмотрел, что у меня очень много записей про сочетания клавиш, и сделал им отдельный тег.
А вы используете макросы в Office дома или на работе? Расскажите в комментариях, для чего они у вас служат!
okshef
Вадим, почему VBS? В макросах — VBA.
Vadim Sterkin
Да, конечно, это оговорка. Главное — VB :)
Andrew Zaslavskiy
До сего момента каждую картинку редактировал вручную. Вадим, спасибо за решение.
Vadim Sterkin
Андрей, вот я тоже до какого-то момента правил вручную каждую, но потом надоело :)
Михаил
Макросы использовал один раз, когда готовил шпаргалки в универе. Кучу разных текстов приводил к единому виду: размер и тип шрифта, интервал, поля и т.д.
Валерий
Спасибо,Вадим.
Раньше корячился с каждой отдельно при написании короткого хелпа к програм. на работе(какую кнопку нажать,что откроется)
Vadim Sterkin
Валерий, я рад, что макрос сэкономит вам время!
Андрей(bogok)
Вадим, спасибо!
В основном пользуется Офис-ом жена, а я так, настроить ей систему и т.п.
Но с макросами там, нужно как- то разобраться, всё-таки три года, как знаком с компьютером. Литературку бы…..
Vadim Sterkin
Андрей, обычно, макросы используются под конкретную задачу. Я не владею VBA, но если задача простая, то можно и нагуглить. Кроме того, можно просто записать макрос, я так обычно и делаю, но в данном случае это не подходило.
Валерий
Андрей(bogok),
Название: Программирование на VBA в Microsoft Office 2010. Самоучитель
Автор: Слепцова Л.Д.
Издательство: Диалектика
Год: 2010
Страниц: 433
Формат: DjVu
Размер: 22.3 Мб
Язык: русский
Уокенбах_MS_Excel2010_Библия_пользователя
учебник по excel 2010
Ссылки на загрузку книг удалены в соотв. с п. 5 правил обсуждения. Вадим.
Vadim Sterkin
Валерий, спасибо за список книг. Но, пожалуйста, не публикуйте ссылки на закачку в моем блоге, поскольку это нарушает авторские права. Кому надо, найдет.
Борис
Вадим, во второй строке макроса опечатка:
Dim PecentSize As Integer
Далее используется переменная PercentSize
Макрос все таки работает, т.к. используется тип переменной PercentSize по умолчанию (по моему Variant., хотя могу и ошибаться)
Vadim Sterkin
Борис, спасибо за уточнение, поправил!
Андрей
быстро и просто))
Антон
А если все картинки разные, какие-то надо уменьшать, какие-то оставлять в 100%, тогда при использовании этого макроса они все станут 100%. Или я что-то не понял?
Vadim Sterkin
Антон, мне нужно было все картинки оптом менять. Погуглите по коду макроса, и вы найдете страницу, на которой есть другой макрос — он изменяет масштаб выделенных картинок.
Дмитрий
Вадим — отличное решение, очень нравится подписка .
Vadim Sterkin
Дмитрий, подписка на блог? Да, я тоже ей очень доволен :) Хотелось бы большего от нее, но платные сервисы слишком дороги, когда подписной лист не монетизируется.
Дмитрий
Антон, можно и подправить конечно, вот пример из справки, думаю как использовать догадаетесь сами
Дмитрий
К примеру вот так
Александр
Вадим, на сколько мне известно публикация ссылок не нарушает авторских прав, авторские права нарушает хранение и скачивание…
Vadim Sterkin
Александр, интересно, изменится ли ваше мнение, когда вы опубликуете свою книгу… В любом случае, я не заинтересован в дискусии на юридическую тему. Ибо считаю, что названий книг достаточно, чтобы все могли получить их любым удобным путем.
Игорь
А я не вставляю вручную макросы VBA. Я пользуюсь кнопкой «Запись макроса» на вкладке разработчик. В этом случае «Безопасность макросов» не рычит на этот файл, если его открывать на другом компьютере.
Первым делом выставляю абзац и перенос и вешаю такую кнопку на ленту. Да и вообще в любой фирме, где приняты свои правила оформления документов, можно пользоваться не только шаблонами, а сразу записать всё в такой макрос.
Vadim Sterkin
Игорь, а как бы вы записали приведенный в статье макрос?
Александр
Vadim Sterkin,
Вадим, дело не в моём мнении, а именно в юридической стороне вопроса, хотя если коснуться моего мнения, то я считаю что в нашем современном обществе давно пора пересмотреть модель распространения информации, ибо ни какими запретами этого уже не остановить, так какой смысл тогда городить эфемерные преграды?! Для очистки собственной совести разве что…
Если книга действительно хороша, всегда найдутся те кто за неё отдадут денег, а если это очередная пустышка, то я лично не понимаю почему я должен заплатить что бы в этом убедиться.
Сергей (Deportivo)
Спасибо, дельная вещь. Как же я мучился, когда писал жене курсовую по системе «Музей».
К сожалению мои упражнения в VBA так и остались упражнениями — в то время я сидел без компа, а на бумажке не интересно.
Vadim Sterkin
Сергей, может быть, пригодится в будущем :)
Сергей (Deportivo)
По последнему закону хозяин сайта отвечает за удаление ссылки на варез, а не только на размещение. Если он не удалит, то это является основанием для закрытия сайта. А в плане свободного доступа к информации — это право самого автора. Многие авторы ограничиваются продажей печатной версии, а электронную версию выкладывают на своем сайте безвозмездно, но без права редактирования и обязательной ссылкой на скачивание с сайта автора. Почему хозяин варезника должен зарабатывать на рекламе, а автор ничего не иметь от этого?
Олег
Здравствуйте, Вадим!
Спасибо за познавательную статью. Очень актуально! Замечательное решение!
Возможно ли подобное применить в Outlook? Как?
Еще один вопрос. В Office 2013 не работают гиперссылки. Точнее, при нажатии на них появляется сообщение » Это действе запрещено политикой организации. Для получения дополнительных сведений обратитесь в службу поддержки.» Как это можно изменить?
И еще.. Активно пользуюсь OneNote. Понимаю насколько сильная программа, так же понимаю что не весь функционал использую. Поделитесь своим опытом использования этим инструментом. Какие «фишки» Вы знаете? Как применяете? Все очень интересно!
Vadim Sterkin
Олег,
1. Что мешает попробовать? Вкладку «Разработчик» включите и вперед.
2. Гуглояндекс должен знать ответ, причем вовсе неочевидно, что вы уже воспользовались им. Обратитесь в форум Office на OSZone, если что.
3. Статья по OneNote в планах давно, будет в след. году обязательно.
Ольга
Спасибо огромное. Решила проблему за 1 минуту.
Zack Fair
Вадим, замечательное решение вопроса.
Спасибо за помощь)
Евгений Титов
Здравствуйте! Объясните пожалуйста подробнее, что куда надо копировать вставлять, как вообще что делать, чтобы это работало) Желательно «на пальцах» :) скоро экзамен, надо срочно
Vadim Sterkin
Все инструкции в статье, вполне себе на пальцах…