Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 1 ]
1 07.08.2015 15:45:12
- Alex_Gur
- Модератор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 28.07.2011
- Сообщений: 2,758
- Поблагодарили: 492
Тема: Создание гиперссылки с помощью макроса Word
Создание гиперссылки с помощью макроса Word
Вариант 1: Адрес ссылки и текст надписи задаются непосредственно в теле макроса:
Sub Hyperlink1()
Dim URL1 As String
Dim URL_Label1 As String
URL1 = "http://wordexpert.ru/forum/index.php" 'адрес ссылки
URL_Label1 = "Форум Wordexpert.ru" 'текст надписи
ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _
URL1, SubAddress:="", ScreenTip:="", TextToDisplay:=URL_Label1
End Sub
Вариант 2: Адрес ссылки задается в теле макроса, текст надписи должен быть предварительно выделен в пользовательском режиме:
Sub Hyperlink2()
Dim URL1 As String
URL1 = "http://wordexpert.ru/forum/index.php"
ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _
URL1, SubAddress:="", ScreenTip:="", TextToDisplay:=Selection
End Sub
Вариант 3: Адрес ссылки вводится в поле InputBox, текст надписи должен быть предварительно выделен в пользовательском режиме:
Sub Hyperlink3()
Dim URL1 As String
URL1 = InputBox("Введите адрес гиперссылки:", "Ввод адреса")
'Вводим адрес гиперссылки: http://wordexpert.ru/forum/index.php
ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _
URL1, SubAddress:="", ScreenTip:="", TextToDisplay:=Selection
End Sub
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк — 41001162202962; на WebMoney — R581830807057.
Сообщений [ 1 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Похожие темы
- Объединение группы файлов Word с помощью макроса
- Импорт переменной, связь Word и Excel с помощью макроса
- Сохранение текста в FB2 c помощью макроса
- Перебор абзацев с помощью макроса
- Форматирования текста в Worde с помощью макроса
- Заполнить выпадающий список с помощью макроса
- Выпадающий список наполнить с помощью макроса
- Разделение окна и снятие разделения с помощью макроса
Создание гиперссылки с помощью макроса Word
Для всех пользователей текстового редактора Microsoft Word будет полезно познакомиться со встроенными функциями и настройками этой программы. На портале о Microsoft Office Word вы узнаете про: как убрать водяніе знаки word 2007.
На форуме сайта Ворд Эксперт вам предложат различные варианты настроек, в зависимости от поставленных задач. На портале о Microsoft Office Word вы узнаете про: вычислить с помощью формул в word 2010.
Так существуют схемы для быстрого удаления лишних пробелов из текста, переформатирования и оформления в одном стиле различных кусков, работы с таблицами и многого другого. Наш сайт о Microsoft Office Word даст ответ про: как убрать внизу подчеркивание на вордовском листе.
Здесь вы найдете шаблоны для часто повторяющихся схем оформления текста, макросы практически для любых операций, готовые решения и пошаговые инструкции для написания. На портале о Microsoft Office Word вы узнаете про: копировать из автокад в ворд.
Также вы можете оставить заявку на любую работу, связанную с Вордом.
BolgarchukR 0 / 0 / 2 Регистрация: 07.07.2015 Сообщений: 57 |
||||
1 |
||||
Как сделать макрос вставки гиперссылки в текст в ворде?10.08.2018, 22:10. Показов 8528. Ответов 11 Метки нет (Все метки)
Здравствуйте. Подскажите пожалуйста, как создать макрос который бы вставлял из буфера обмена гиперссылку в текст. Код Ctrl +K Ctrl+V и Ente Получился такой макрос
Но это совсем не то что мне надо. Он почему-то вставляет только одну и ту же гиперссылку, та что записана в макросе, а не та, что скопирована в данный момент в буфере. И не в выделенный текст, а заменяет выделенный текст на тот что написан в TextToDisplay:=». Но мне не надо что бы он заменял. Добавлено через 6 минут
0 |
fever brain oh my god 1454 / 793 / 161 Регистрация: 05.01.2016 Сообщений: 2,307 Записей в блоге: 8 |
||||
11.08.2018, 23:20 |
2 |
|||
Кажись должно получиться
0 |
fever brain oh my god 1454 / 793 / 161 Регистрация: 05.01.2016 Сообщений: 2,307 Записей в блоге: 8 |
||||
11.08.2018, 23:51 |
3 |
|||
Сообщение было отмечено BolgarchukR как решение Решение Кстати я немного усовершенствовал наш макрос
на рисунке ниже я скопировал url-адрес этой темы и выполнил макрос Миниатюры
0 |
fever brain oh my god 1454 / 793 / 161 Регистрация: 05.01.2016 Сообщений: 2,307 Записей в блоге: 8 |
||||
12.08.2018, 00:37 |
4 |
|||
В коде нужно было еще дописать Quit
Не по теме:
хотел подправить первый пункт поста что бы было понятнее, но срок изменения сообщения уже истек Подправить можно если никто не ответил
0 |
0 / 0 / 2 Регистрация: 07.07.2015 Сообщений: 57 |
|
12.08.2018, 13:30 [ТС] |
5 |
Гениально! Вы предвосхитили мои ожидания. Столько лет мучений… Сколько бы можно было сэкономить времени. Вроде бы скопировать ссылку вручную не долго, но по пол секунды, к тому же если учесть, что копирую по без преуменьшения около 100 раз в день, т.к. часто бывает важно вернуться к той или иной информации с форума или сайта, из записанной в ворде приметки. В общем не знаю, как для других, а для меня это чрезвычайно полезный макрос. Получается изящно и красиво. В общем добавлю себе это чудо в виде кнопочки на панельки быстрого доступа. Миниатюры
0 |
0 / 0 / 2 Регистрация: 07.07.2015 Сообщений: 57 |
|
12.08.2018, 13:44 [ТС] |
6 |
В коде нужно было еще дописать Quit Да, надо дописать. Т.к. к примеру при копировании ссылки с ютуба, тоже все прекрасно вставляется, но эта же ссылка запускается в интернет эксплорере.
0 |
fever brain oh my god 1454 / 793 / 161 Регистрация: 05.01.2016 Сообщений: 2,307 Записей в блоге: 8 |
||||||||
12.08.2018, 18:47 |
7 |
|||||||
Еще мелкий нюанс, вдруг кто тоже будет пробовать. У меня первый раз немного задумалось, да и второй. Выдало сообщение «Предупреждение системы безопасности» Да тут все просто, это реакция безопасности InternetExplorer именно в его параноидальных настройках по умолчанию Добавлено через 4 минуты Добавлено через 2 минуты
А куда именно вставить?
Добавлено через 14 минут
можно конечно применить к этому макросу и другой вэб-инструмент Как альтернатива класс Microsoft XML теперь окошек с вопросами точно не будет. к тому-же новый код Кликните здесь для просмотра всего текста
Как назначить макросу сочетание клавиш
1 |
oh my god 1454 / 793 / 161 Регистрация: 05.01.2016 Сообщений: 2,307 Записей в блоге: 8 |
|
13.08.2018, 06:56 |
8 |
На рисунке получение ссылки и ее заголовка с ютюба сама ссылка вот: https://www.youtube.com/watch?v=q4M_29PhD1E на картинке результат в документе Миниатюры
0 |
fever brain |
13.08.2018, 07:47
|
Не по теме:
Гениально! Вы предвосхитили мои ожидания. Столько лет мучений… Сколько бы можно было сэкономить времени. Мне конечно приятно о себе читать столь теплые слова. но всетаки скажу что это слишком эмоционально
0 |
0 / 0 / 2 Регистрация: 07.07.2015 Сообщений: 57 |
|
31.08.2018, 23:40 [ТС] |
10 |
Как альтернатива класс Microsoft XML теперь окошек с вопросами точно не будет. к тому-же Еще раз спасибо. Теперь и окошко не появляется, и работает на много быстрее. А то почему-то у меня прошлый работал с небольшой задержкой, и не всегда вставлял, то открывал отладчик, то вставлял одну ссылку. Но опять же возможно это было только у меня так, хотя в безопасности интернет эксплорера поставил все на минимум, брандмауэр и антивирусник отключил. Впрочем, это уже не имеет значения, как я понял новый код работает по другому принципу и с настройками безопасности играться не надо. Не по теме:
…особенно если заранее знать что требуется найти. да, вот как раз дописывать под себя я и не умею. Да и действительно, надо знать, что искать, а для этого нужно достаточно неплохо разбираться в теме, для меня, как и наверное для многих, пока это довольно сложно. Добавлено через 25 минут
0 |
0 / 0 / 2 Регистрация: 07.07.2015 Сообщений: 57 |
|
05.07.2020, 14:39 [ТС] |
11 |
Не знаю как другие, но я долго пользовался этой удобной функцией. Более того, по-видимому, не только мне она приглянулась. В Google документах ссылка тоже вставляется именно так, без всяких макросов. Но это в Google документах.
0 |
BolgarchukR |
05.07.2020, 15:14 [ТС] |
Не по теме: Странно не могу отредактировать сообщение. Надеюсь хоть добавить удастся
0 |
Содержание
- 0.1 Области использования макросов:
- 0.2 Включение макросов
- 0.3 Запись макросов
- 0.4 Изменение комбинаций клавиш для макроса
- 0.5 Запуск макроса
- 0.6 Создание нового макроса
- 0.7 Помогла ли вам эта статья?
- 1 Что это — макросы в «Ворде»?
- 2 Word 2010-2016: запись макроса, запускающегося кнопкой
- 3 Word 2010-2016: запись макроса, запускающегося комбинацией клавиш
- 4 Word 2007: начало создания макроса
- 5 Word 2007: три варианта записи макроса
- 6 Открытие файлов с макросами
- 7 Включение макросов
- 8 Отключение макросов
Макрос — это набор определенных действий, команд и/или инструкций, которые сгруппированы в одну целостную команду, обеспечивающую автоматическое выполнение той или иной задачи. Если вы активный пользователь MS Word, вы тоже можете автоматизировать часто выполняемые задачи, создав для них соответствующие макросы.
Именно о том, как включить макросы в Ворд, как их создавать и использовать для упрощения, ускорения рабочего процесса и пойдет речь в этой статье. И все же, для начала не лишним будет более подробно разобраться в том, зачем вообще они нужны.
Области использования макросов:
Последовательность макросов может быть записана или создана с нуля путем введения кода в редактор Visual Basic на одноименном языке программирования.
Включение макросов
По умолчанию макросы доступны не во всех версиях MS Word, точнее, они просто не включены. Чтобы активировать их необходимо включить средства разработчика. После этого на панели управления программы появится вкладка “Разработчик”. О том, как это сделать, читайте ниже.
Примечание: В версиях программы, в которых макросы доступны изначально (например, Ворд 2016), средства для работы с ними находятся во вкладке “Вид” в группе “Макросы”.
1. Откройте меню “Файл” (кнопка “Microsoft Office” ранее).
2. Выберите пункт “Параметры” (ранее “Параметры Word”).
3. Откройте в окне “Параметры” категорию “Основные” и перейдите в группе “Основные параметры работы”.
4. Установите галочку напротив пункта “Показывать вкладку “Разработчик” на ленте”.
5. На панели управления появится вкладка “Разработчик”, в которой и будет находиться пункт “Макросы”.
Запись макросов
1. Во вкладке “Разработчик” или, в зависимости от используемой версии Ворда, во вкладке “Вид”, нажмите кнопку “Макросы” и выберите пункт “Запись макроса”.
2. Задайте имя для создаваемого макроса.
Примечание: Если вы, создавая новый макрос, даете ему точно такое же имя, как у встроенного в программу, действия, записанные вами в новый макрос, будут выполняться взамен стандартным. Для просмотра макросов, доступных в MS Word по умолчанию, в меню кнопки “Макросы” выберите “Команды Word”.
3. В пункте “Макрос доступен для” выберите то, для чего он будет доступен: шаблон или документ, в который его следует сохранить.
4. В поле “Описание” введите описание для создаваемого макроса.
5. Выполните одно из действий, указанных ниже:
Начните запись — чтобы приступить к началу записи макроса, не связывая его при этом с кнопкой на панели управления или комбинацией клавиш, нажмите “ОК”. Создайте кнопку — чтобы связать создаваемый макрос с кнопкой, расположенной на панели управления, выполните следующее:
- Нажмите “кнопке”;
- Выберите документ или документы, в которых требуется добавить создаваемый макрос на панель быстрого доступа (раздел “Настройка панели быстрого доступа”);
В окне “Макрос из” (ранее “Выбрать команды из”) выберите макрос, который следует записать, нажмите “Добавить”.
- Если вы хотите настроить эту кнопку, нажмите “Изменить”;
- Выберите подходящий символ для создаваемой кнопки в поле “Символ”;
- Введите имя макроса, которое будет отображаться в дальнейшем в поле “Отображаемое имя”;
- Для начала записи макроса дважды кликните по кнопке “ОК”.
Символ, который вы выбрали, будет отображаться на панели быстрого доступа. При наведении указателя курсора на этот символ, будет отображаться его имя.
Назначьте сочетание клавиш — Для того, чтобы назначить комбинацию клавиш для создаваемого макроса, выполните следующие действия:
- Кликните по кнопке “Клавишами” (ранее “Клавиатура”);
- В разделе “Команды” выберите макрос, который необходимо записать;
- В разделе “Новое сочетание клавиш” введите любую удобную для вас комбинацию, после чего нажмите кнопку “Назначить”;
- Для начала записи макроса нажмите “Закрыть”.
6. Выполните поочередно все те действия, которые необходимо включить в макрос.
Примечание: Во время записи макроса нельзя использовать мышь для выделения текста, а вот для выбора команд и параметров нужно использовать именно ее. При необходимости, выделить текст можно с помощью клавиатуры.
Урок: Горячие клавиши в Ворде
7. Для остановки записи макроса нажмите “Остановить запись”, эта команда расположена в меню кнопки “Макросы” на панели управления.
Изменение комбинаций клавиш для макроса
1. Откройте окно “Параметры” (меню “Файл” или кнопка “MS Office”).
2. Выберите пункт “Настройка”.
3. Нажмите на кнопку “Настройка”, расположенную рядом с полем “Сочетание клавиш”.
4. В разделе “Категории” выберите “Макросы”.
5. В открывшемся списке выберите макрос, который необходимо изменить.
6. Кликните по полю “Новое сочетание клавиш” и нажмите клавиши или комбинацию клавиш, которые вы хотите назначить для конкретного макроса.
7. Убедитесь, что назначенное вами сочетание клавиш не используется для выполнения другой задачи (поле “Текущее сочетание”).
8. В разделе “Сохранить изменения” выберите подходящий вариант (место) для сохранения места, где макрос будет запускаться.
9. Нажмите “Закрыть”.
Запуск макроса
1. Нажмите на кнопку “Макросы” (вкладка “Вид” или “Разработчик”, в зависимости от используемой версии программы).
2. Выберите макрос, который хотите запустить (список “Имя макроса”).
3. Нажмите “Выполнить”.
Создание нового макроса
1. Нажмите кнопку “Макросы”.
2. Задайте имя для нового макроса в соответствующем поле.
3. В разделе “Макросы из” выберите шаблон или документ, для которого будет сохранен создаваемый макрос.
4. Нажмите “Создать”. Будет открыт редактор Visual Basic, в котором и можно будет создать новый макрос на языке Visual Basic.
На этом все, теперь вы знаете, что такое макросы в MS Word, зачем они нужны, как их создавать и как с ними работать. Надеемся, информация из этой статьи будет полезной для вас и действительно поможет упростить, ускорить работу со столь продвинутой офисной программой.
Мы рады, что смогли помочь Вам в решении проблемы.
Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
Да Нет
А вы знали, что часто повторяемые действия в текстовом редакторе Word последних версий (2007, 2010, 2013, 2016) можно автоматизировать? Достигается это путем создания макросов в «Ворде». Что это, как их сделать, включить/отключить, как открыть файл с такими элементами, мы обязательно разберем далее.
Что это — макросы в «Ворде»?
Макрос — это комплекс инструкций, группируемых в единую команду для автоматического выполнения того или иного задания. Пишутся они на языке Visual Basic в редакторе с одноименным названием.
Чаще всего макросы применяются пользователем для:
- Ускорения наиболее востребованных действий форматирования, редактирования.
- Объединения нескольких команд в одну. Как пример — создание таблицы с определенным числом столбцов, строк, стилем границ.
- Облегчения доступа к параметрам, находящимся в диалоговых окнах.
- Автоматизации процесса обработки последовательных сложных операций.
Таким образом, макросы в «Ворде» превращают несколько задач в одно действие. Чтобы его осуществить, необходимо набрать комбинацию клавиш или нажать на кнопку панели быстрого доступа.
Word 2010-2016: запись макроса, запускающегося кнопкой
Разберем, как создать макрос в «Ворде» этого типа:
- Зайдите в «Вид», выберите «Макрос» — «Создать…».
- Придумайте имя для этого комплекса команд.
- Если вы хотите использовать его для всех файлов, то обязательно выберите доступность «Для всех документов».
- Кликните на назначение «По кнопке».
- В следующем окне кликните на новый макрос. Его наименование будет начинаться с Normal — NewMacros, после чего будет следовать имя, которым вы его обозначили.
- Далее — щелчок на «Добавить», а затем на «Изменить».
- Из предложенной палитры выберите значок для своего макроса в «Ворде».
- Теперь самая важная часть: запись шагов. Для каждого нужно выбрать команду или нажать определенную клавишу. Текст необходимо выделять с помощью клавиатуры. Система будет записывать все шаги, что вы сделаете, — нажатия клавиш, действия мышью.
- Когда вы завершите задуманное, закончите запись: зайдя в раздел «Макросы», выберите «Остановить…»
Вы увидите, что на панели быстрого доступа появилась кнопка созданной вами команды. Нажав на нее, вы автоматически выполните записанную последовательность действий.
Word 2010-2016: запись макроса, запускающегося комбинацией клавиш
Теперь разберем, как создать макрос в «Ворде», который активируется нажатием сочетания кнопок:
- Зайдите в «Вид», найдите «Макросы». Далее — «Записать…»
- Введите его имя. Не забудьте указать, если это нужно, что макрос доступен для всех документов.
- Выберете значок доступности по клавиатуре.
- В поле «Новое сочетание…» введите определенную комбинацию клавиш, которая будет запускать в действие макрос. Если она будет совпадать с другой стандартной командой, то нужно придумать иное сочетание.
- Кликните на «Назначить».
- Теперь запись шагов для макроса: для каждого из них выставляйте определенную команду, щелчок мышкой. Все действия будут сохраняться системой.
- Когда все будет готово, зайдите в «Макросы» (меню «Вид») и остановите запись.
Теперь установленным сочетанием клавиш вы можете активировать созданный комплекс команд.
Word 2007: начало создания макроса
Теперь расскажем, как сделать макрос в «Ворде 2007». Процесс немного отличается от того, что представлен для поздних версий этого текстового редактора.
Первым делом вам нужно активировать вкладку разработчика:
- Кликните на кнопку Microsoft Office (круглую, с логотипом компании).
- Выберите «Параметры «Ворда»».
- В «Основных параметрах…» сделайте активным пункт «Показывать «Разработчик» на ленте».
Теперь переходим непосредственно к созданию комплекса команд:
- Зайдите на появившуюся вкладку «Разработчик». В «Коде» выберите «Запись макроса».
- В «Имя…» введите название. Будьте внимательны: если оно будет совпадать с наименованием стандартного макроса, то новая запись заменит его. Поэтому для проверки в «Макросах» группы «Код» найдите «Команды Word» и убедитесь, что придуманное имя не совпадает с там присутствующими.
- В «Макрос доступен…» выберите, где его можно применять. Если для всех файлов, то остановитесь на Normal.dotm.
- Введите описание.
Word 2007: три варианта записи макроса
Далее вы можете пойти тремя путями.
Запись без привязки. Вы пишете макрос, не связывая его ни с кнопкой, ни с сочетанием клавиш. Для этого достаточно нажать на ОК.
Привязка макроса к кнопке. Тут следует пойти таким путем:
- Щелкните на «По кнопке».
- В «Настройки панели быстрого доступа» выберите все документы или отдельный файл, где можно применять этот макрос.
- В окне «Выбрать команды» нажмите на нужный макрос. Затем — щелчок на «Добавить».
- Для настройки кликните на «Изменить».
- В «Символе» выберите значок для кнопки.
- «Отображаемое имя» — наименование макроса.
- Два раза кликните на ОК, чтобы начать запись.
Привязка макроса к сочетанию клавиш. Здесь следующий путь:
- Остановитесь на «Клавиатуре».
- В «Командах» найдите макрос, который вы собрались записать.
- В «Новом сочетании клавиш» введите придуманную комбинацию. Клик на «Назначить».
- Щелкните на «Закрыть», чтобы начать запись.
Далее путь становится единым для всех вариантов:
- Выполните последовательность действий, которую нужно включить в макрос.
- Завершить процесс можно выбором «Остановить запись» во вкладке «Код».
Открытие файлов с макросами
Документы, поддерживающие макросы, имеют расширение .docm. Трудности с ними иногда возникают на моменте запуска — текстовой редактор выдает ошибку. Разберем, как открыть «Ворд» с макросами:
- Два раза щелкните на данный документ. Система сама выберет программу на вашем ПК, способную его открыть.
- При неудаче измените расширение на .doc, .docx.
- В случае неудовлетворительного результата воспользуйтесь программами:
- Word 2007, распознающий Open XML.
- «Ворд» 2010.
- Приложение FileViewPro.
Включение макросов
Как включить макросы в «Ворде»? Есть три варианта.
При появлении панели сообщений. Как только вы открываете файл с макросами, перед вами на экране выходит желтое окошко с щитом и просьбой включить данный комплекс команд. Только если вы уверены в надежности источника документа, нажмите на панели «Включить содержимое».
С помощью представления Backstage. При открытии файла с макросами сделайте следующее:
- Кликните на «Файл».
- В «Предупреждении системы безопасности» нажмите на пункт «Включить содержимое».
- В данном разделе сделайте активным «Всегда включать…» Это превратит документ в надежный.
Включение на время открытия документа. Можно сделать макросы активными только на период работы с определенным файлом. Когда вы его уже закроете и запустите заново, их снова придется включать. Для такого варианта следующий алгоритм:
- Откройте вкладку с названием «Файл».
- В «Предупреждении системы безопасности» нажмите на «Включить содержимое».
- Перейдете в «Доп. параметры».
- В «Параметрах безопасности…» выберите «Включить лишь для этого сеанса» в отношении каждого из имеющихся в документе макросов.
- Подтвердите нажатием ОК.
Отключение макросов
Напоследок разберем, как убрать макросы в «Ворде»:
- Во вкладке «Файл» перейдите на «Параметры».
- В «Центре управления…» выберите «Параметры центра…»
- Щелкните на «Параметры макросов».
- Выберите, что вам нужно:
- Отключить все без уведомления (как макросы, так и предупреждения об опасности/безопасности).
- Отключить все с уведомлением (убираются только макросы, уведомления о безопасности остаются).
- Отключить все, кроме макросов с цифровой подписью (отображаются только макросы издателя, которому выражено доверие, — на их включение нужно согласиться в уведомлении при открытии файла).
- Подтвердите выбор нажатием на ОК.
Создание макросов имеет свои особенности в различных версиях текстового редактора «Ворд». А при открытии файла с данной группой команд в данной программе вы можете выбрать, включать или не активировать их.
Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.
Задача: в предыдущей заметке мы рассказали, как запускать макросы клавиатурными сокращениями. Можно ли для этой цели использовать кнопки на листе?
Решение: существует множество способов запустить макрос кнопкой (рис. 1).
Рис. 1. Вы можете запустить макрос с помощью любого из этих элементов
Скачать заметку в формате Word или pdf, примеры в формате Excel (с кодом VBA)
Способ 1. Элемент управления формы Кнопка
В Excel 2007 или более поздней версии перейдите на вкладку РАЗРАБОТЧИК. В области Элементы управления кликните на кнопке Вставить, в раскрывающемся списке выберите значок Кнопка (рис. 2). Перетащите значок на лист, и нарисуйте кнопку. Когда вы закончите отрисовывать кнопку, появится диалоговое окно Назначить макрос объекту. Выберите макрос и нажмите Ok.
Рис. 2. Вставка кнопки, как элемента управления формы
Примечание. Если вы не видите вкладку РАЗАБОТЧИК, пройдите по меню ФАЙЛ –> Параметры. Перейдите на вкладку Настроить ленту, и в правой части окна Параметры Excel – Основные вкладки поставьте галочку напротив Разработчик.
Кнопка по умолчанию имеет название Кнопка 1. Чтобы изменить имя: нажмите Ctrl и кликните на кнопке (это позволит сделать кнопку активной без запуска макроса). Удалите текст с названием кнопки и наберите новое название. Вы можете изменить тип и размер шрифта, выравнивание и цвет текста. Если в будущем вы захотите изменить макрос, назначенный кнопке, кликните на ней правой кнопкой мыши и выберите опцию Назначить макрос.
Способ 2. Кнопка ActiveX
Кнопка ActiveX выглядит аналогично Кнопке Элемент управления формы. При этом Кнопка ActiveX имеет более гибкий функционал. Выполните следующие шаги, чтобы создать Кнопку ActiveX.
Перейдите на вкладку РАЗРАБОТЧИК. В области Элементы управления кликните кнопку Вставить, и в раскрывшемся списке выберите значок Кнопка (рис. 3). Нажмите на пиктограмму Кнопка и перетащите ее на рабочий лист. Обратите внимание, что вы находитесь в режиме конструктора.
Рис. 3. Вставка кнопки, как элемента ActiveX
Кликните на Кнопке правой кнопкой мыши, и выберите опцию Свойства. Появится окно Properties (свойства, рис. 4). Находим строку для заголовка – Caption. Удалите текст CommandButton3 и наберите Выполнить! Кнопка ActiveX. Вы также можете заменить шрифт Arial на Calibri. Вы также можете изменить внешний вид кнопки с помощью таких свойств, как BackColor и ForeColor; можете добавить изображение на кнопку (свойство Picture) и т.д. Эти особенности делают элементы управления ActiveX намного более гибкими, чем элементы управления формы. Закройте окно свойств, кликнув на крестик в правом верхнем углу.
Рис. 4. Свойства Кнопки ActiveX
Оставаясь в режиме конструктора, кликните правой кнопкой мыши, и выберите опцию Исходный текст. Вы перейдете в окно редактора VBA в процедуру Private Sub CommandButton3_Click (рис. 5). В настоящий момент процедура не выполняет никакой код (она пустая). Обратите внимание, что код «живет» не в отдельном модуле, а в листе книги.
Рис. 5. Редактирование кода VBA, ассоциированного с Кнопкой ActiveX
Вы можете написать в процедуре любой код. Если вы хотите, чтобы клик на Кнопке ActiveX запускал один из существующих макросов, просто укажите его имя в тексте процедуры (рис. 6).
Рис. 6. Процедура Private Sub CommandButton3_Click будет исполнять макрос TestMacro
Вернитесь из редактора VBA назад на лист Excel. Выйдите из режима конструктора, кликнув на одноименную кнопку на ленте.
Примечание. Сам макрос TestMacro предельно прост. Он выводит на экран окно Макрос выполнен. При этом код макроса, как и положено, размещен в модуле VBA.
Sub TestMacro()
MsgBox "
Макрос выполнен"
End Sub
Способ 3. Любая фигура, картинка, рисунок SmartArt, Clip Art
Поместите объект на лист Excel. Щелкните правой кнопкой мыши на объекте и выберите команду Назначить макрос. В окне Назначить макрос объекту выберите макрос и нажмите Ok.
Способ 4. С помощью гиперссылки
Настройка макроса для запуска с помощью гиперссылки довольно сложна, но интересна. Для начала введите какой-нибудь текст в ячейку — например, Запуск макроса гиперссылкой. Затем на вкладке ВСТАВКА выберите команду Гиперссылка, и в окне Изменение гиперссылки введите адрес ячейки, в которой введен текст. В нашем примере – это В28. Это позволит при нажатии гиперссылки остаться в ячейке.
Рис. 7. Замкните гиперссылку саму на себя
Перейдите в редактор VBA. В окне проекта (VBAProject) найдите строку с листом Excel, на котором находится гиперссылка. В нашем примере лист называется Sheet1 (Рис. 1). Кликните на этой строке правой кнопкой мыши, и выберите команду View Code (рис. 8).
Рис. 8. Код для перехвата нажатия гиперссылки должен быть расположен на листе
Откроется панель кода для листа Sheet1 (Рис. 1). Если вы ранее выполняли действия, описанные выше в разделе Способ 2. Кнопка ActiveX для запуска макроса, то вверху окна будет размещено три строчки кода (см. рис. 6). Если вы не делали этого, окно будет пустым. В любом случае, воспользуйтесь двумя выпадающими меню в верхней части окна. В левом списке выберите Worksheet, в правом – FollowHyperlink. У вас появится заготовка процедуры Worksheet_FollowHyperlink перехватывающей событие Нажатие гиперссылки (рис. 9).
Рис. 9. Настройка заготовки кода путем выбора объекта – Worksheet и события – FollowHyperlink
Каждый раз, когда кто-то нажмет вашу гиперссылку, запустится эта процедура. Целевая переменная процедуры – ByVal Target As Hyperlink – обеспечит срабатывание процедуры только когда нажата ячейка с целевым текстом. Если на странице только одна гиперссылка, вы можете ограничиться простым кодом:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
TestMacro
End Sub
Если гиперссылок несколько, вы можете использовать свойство Target.TextToDisplay, чтобы различить гиперссылки:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Select Case Target.TextToDisplay
Case "
Run Report 2"
TestMacro
Case "
Run Report 2"
TestMacro2
Case "
Run Report 3"
TestMacro3
End Select
End Sub
Использование гиперссылки для запуска макроса – отличный трюк, когда вы хотите переключиться между различными состояниями. Возможно, вы хотите перейти от сортировки по возрастанию к сортировке по убыванию. Следующий макрос выполняет сортировку и изменяет текст гиперссылки так, что в следующий раз будет выполняться противоположная сортировка:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Select Case Target.TextToDisplay
Case "
A-Z"
SortMacroAscending
Target.TextToDisplay = "
Z-A"
Case "
Z-A"
SortMacroDescending
Target.TextToDisplay = "
A-Z"
End Select
End Sub
Резюме: запуск макроса кнопкой может быть выполнен с помощью элементов управления формы, элементов ActiveX, фигуры SmartArt, гиперссылки и др.
В процессе написания заметки я тестировал те или иные возможности, поэтому моя кнопка имеет номер 3. Если вы выполняете операцию создания Кнопки ActiveX впервые, ваша Кнопка будет иметь имя CommandButton1
В данной статье собраны основные операции и алгоритмы работы, позволяющие повысить эффективность разработки документации в редакторе Microsoft Word как индивидуально, так и при командной работе.
Несмотря на то что материала на подобную тематику написано достаточно, многие продолжают использовать компьютер на уровне печатной машинки не задумываясь о том, что половину рутинной работы можно переложить на тот самый Word.
В статье намеренно не рассматриваются подходы с использованием Markdown, Pandoc, Asciidoc, Confluence как более сложные и узкоспециализированные, а статью хотелось сделать доступной и понятной не только молодым людям, но и людям старших возрастов.
Все описанные действия выполнены в программе «Microsoft Word профессиональный плюс 2019». В предыдущих версиях Word последовательность и названия команд могут отличаться, но описанная функциональность так или иначе существует. По минимуму использованы макросы и автоматизация с помощью сторонних средств (в частности Python, использована версия 3.6).
Описанные операции
-
Автоматическая нумерация рисунков (таблиц)
-
Ускоренная вставка поля автоматической нумерации рисунка
-
Ссылка на номер рисунка (таблицы, разделы, пункты)
-
Изменение формата перекрестной ссылки на рисунок (таблицу, раздел, пункт)
-
Ускоренная вставка ссылки на номер рисунка (таблицы)
-
Автозаполняемые поля (Экспресс-блоки) (число страниц, дата)
-
Исправление съезжающей нумерации в списке при выборе «Начать заново с 1»
-
Карта стилей
-
Перенос стилей между документами и очистка стилей
-
Автоматическое содержание (оглавлениие)
-
Макрос. Обрамление выделенного текста двоеточием с обеих сторон
-
Сравнение документов
-
Python. Пакетное сохранение документов в PDF
-
Список сокращений
-
Горячие клавиши
-
Заключение
Автоматическая нумерация рисунков (таблиц)
Классическая проблема: нужно объединить 4 файла, насыщенные рисунками, в один документ. Если это делать «в лоб», после объединения нумерация рисунков собьется. Восстановить ее – большая грустная задача.
Классическое решение: поставить вместо номера рисунка текст «ХХ» и закрасить желтым цветом (желтый цвет предлагается Word по умолчанию для выделения текста). Потом, после объединения частей в один файл, руками проставить номера рисунков в порядке их очередности. Это первое, что делает нормальный человек, действуя интуитивно, и проблема не кажется сложной, пока вы не столкнетесь с документом, в котором рисунков больше сотни, и еще нужно поддерживать актуальность документа (то есть со временем добавлять или исключать рисунки с перекрестными ссылками).
Word умеет делать это автоматически, причем не только для рисунков, а еще и для таблиц, параграфов, разделов, абзацев и др.
Чтобы присвоить рисунку (таблице) номер в автоматическом режиме, нужно нажать непосредственно на рисунок (1), после чего выбрать пункт меню «Ссылки» (2) ⟶ «Вставить название» (3) ⟶ Снять галочку «Исключить подпись из названия» (4) ⟶ «Ок» (5). Под рисунком появится подпись «Рисунок 1», где 1 – это поле автоматической нумерации рисунка (таблицы) (6). Справа от номера, в зависимости от правил именования рисунков, рисунку можно дать название.
Суть данной операции в том, что если 4 человека форматировали наименования рисунков именно так, то после объединения четырех частей документа для проставления корректных номеров рисунков необходимо выделить весь текст документа (Ctrl+A) и обновить автоматические поля (F9). Все рисунки (таблицы) при этом получат правильный порядковый номер (3).
Думаете, что повторить данную процедуру для 1000 рисунков долго? Читаем ниже.
Ускоренная вставка поля автоматической нумерации рисунка (таблицы)
Для быстрой вставки поля автоматического номера рисунка (таблицы) необходимо выделить любое сформированное ранее название рисунка (таблицы) (см. пункт выше), содержащее поле автоматической нумерации (1), скопировать его, перевести курсор под нужный рисунок и вставить скопированное название (2). Название будет скопировано с полем автоматической нумерации с исходным номером. Его нужно будет обновить. Не обязательно делать это сразу. Пока скопированный текст находится в буфере обмена, можно вставить поле автоматической нумерации под всеми рисунками (таблицами) до конца документа, после чего выделить весь текст (Ctrl+A) и обновить автоматические поля (F9). Все рисунки (таблицы) при этом получат правильный порядковый номер (3).
Это, пожалуй, самый простой способ, которым можно быстро привести в порядок документ, изначально разработанный не Вами, насыщенный рисунками, состав которых необходимо изменить.
Ссылка на номер рисунка (таблицы, раздела, пункта)
Классическая проблема: документ имеет много отсылок на внутренние объекты документа (рисунки, таблицы, разделы, пункты). При изменении номера объекта надо изменить и все отсылки на него, а если они находятся не рядом с объектом, то про них можно просто забыть или пропустить.
Классическое решение: сначала человек проставляет вместо номеров рисунков (объектов) «ХХ» желтым цветом, то же самое делает и для ссылок на указанные рисунки, затем проставляет номера рисунков по окончанию редактирования документа и начинает сопоставлять ссылки с рисунками, к которым они относятся.
Данный подход приходит в голову первым, однако Word и это умеет делать автоматически. Если в тексте встречаются ссылки на рисунки, то крайне полезно делать их именно ссылкой, а не вручную вписанным номером. Это позволяет отказаться от механической проверки актуальности ссылок, которые обязательно начнут сбиваться при малейшем редактировании документа, и переложить указанную работу исключительно на Word. Более того, при перестановке рисунка по тексту или же вставке новых рисунков ссылки обновляются в соответствии с обновленной нумерацией. Если вдруг ссылка дана на несуществующий объект, то вместо номера рисунка (таблицы) появится сообщение вида «Ошибка! Источник ссылки не найден.». Используя поиск, можно быстро отследить корректность всех перекрестных ссылок по фразе «Ошибка».
Для вставки ссылки на рисунок (таблицу) необходимо перевести курсор мыши в то место, где необходимо вставить ссылку (1), нажать пункт меню «Ссылки» (2), «Перекрестная ссылка» (3), выбрать из выпадающего списка тип ссылки «Рисунок» («Таблица» и т.д.) (4), из выпадающего списка выбрать то, на что вставить ссылку «Постоянная часть и номер» (5), выбрать нужный рисунок (таблицу и др.) (6), нажать кнопку «Вставить» (7). На месте (1) появится ссылка на выбранный рисунок (таблицу и др.).
Если стандартный формат вставки ссылки не подходит (например, необходимо выполнять требования ГОСТ), то можно выполнить другие действия, описанные ниже.
Изменение формата перекрестной ссылки на рисунок (таблицу, раздел, пункт)
По умолчанию Word вставляет фразу «Рисунок N», однако иногда необходимо вставить фразу вида «Рис. N» (или «см. рис. N»). Для этого из перекрестной ссылки необходимо забрать лишь номер, а остальное дописать руками.
Для отображения только номера объекта необходимо выделить поле ссылки (1) и нажать «SHIFT+F9», при этом откроется код ссылки (2), в него нужно дописать сочетание « # » и обязательно поставить в конце пробел (3). Чтобы увидеть номер рисунка (таблицы), необходимо обновить содержимое поля нажатием «F9» (4).
Если у Вас сложилось впечатление, что это слишком долго, то читаем ниже, как можно немного ускориться.
Ускоренная вставка ссылки на номер рисунка (таблицы)
Ускорить процесс вставки ссылок можно достаточно просто, следуя советам дедушки Сазерленда (методология Scrum), а именно: нужно выполнять одну простейшую операцию. Применительно к нашей задаче следует выделить весь текст нажатием «Ctrl+A», отобразить коды автозаполняемых полей нажатием «SHIFT+F9», открыть окно «Перекрестные ссылки» по примеру выше, после чего необходимо пролистывать документ, перенося курсор в нужные места, выбирать нужные ссылки из открытого окна перекрестных ссылок и вставлять их. Окно «Перекрестные ссылки» закрываем только тогда, когда документ отработан до конца.
По аналогии можно быстро изменить отображение перекрестных ссылок на рисунки (таблицы). Для этого выделяем весь текст нажатием «Ctrl+A», отображаем коды автозаполняемых полей нажатием «SHIFT+F9», копируем в буфер обмена текст « # » (пробел в конце обязателен) и вставляем его в конце требуемых полей. Обновляем поля нажатием «F9», когда документ обработан до конца.
Автозаполняемые поля (Экспресс-блоки) (число страниц, дата)
Классическая ошибка: этап проекта перешел на новый год, вы внесли в документ необходимые правки, закрыли документ, но забыли обновить год или число страниц на титульном листе и отправили заказчику.
Классическое решение: вы не забываете обновить год и число страниц и по завершении редактирования документа листаете его до конца, чтобы Word корректно пересчитал число страниц с учетом форматирования, возвращаетесь на титульный лист и вставляете полученное число.
Все это может выполняться автоматически стандартными средствами Word. В качестве примера вставим автоматическое поле числа страниц документа. Для этого устанавливаем курсор мыши туда, где необходимо вставить автозаполняемое поле (1), выбираем пункт меню «Вставить», затем «Экспресс-блоки» (2), затем «Поле» (3). Откроется окно «Поле» (4), в колонке «Поля» выбираем тип поля, в нашем примере «NumPages» (5), и нажимаем кнопку «Ок» (6). При этом в месте, где был установлен курсор (1), вставится поле, которое при обновлении (F9) поменяет значение на фактическое число страниц.
Для вставки даты вместо «NumPages» (5) необходимо найти «Date» и выбрать необходимый формат.
Исправление съезжающей нумерации в списке при выборе «Начать заново с 1»
Классическая проблема: надо начать новый нумерованный список, но по умолчанию продолжается старая нумерация. Обычно делают так: нажимают «ПКМ», «Начать заново с 1» и первый номер съезжает к значению по умолчанию.
Классическое решение: каждый раз передвигать отступы первого пункта списка на необходимое место.
Этого можно не делать если заранее определить отступы для нумерованного списка. Для этого необходимо нажать на первый номер нумерованного списка «ПКМ», затем «Изменить отступы в списке». Проделать это можно сразу для нескольких уровней списков, а еще лучше, если для каждого уровня списка создать отдельный стиль, что позволит быстро изменять отступы по всему документу, но об этом уже ниже.
Карта стилей
Классическая проблема: два человека разрабатывают части документа, в которых используется нумерация разделов и пунктов, выделение заголовков и особое форматирование абзацев. Один человек поддерживал нумерацию механически, второй — используя автонумерацию. При объединении нумерация съезжает, равно как и форматирование.
Классическое решение: выбирается жертва, которая приводит полученный бардак к единому виду.
Это, пожалуй, самая распространенная проблема, которая влечет за собой много нудной, монотонной и неинтересной работы по форматированию документа. Возникает она по причине того, что мало кто знает и пользуется одной из базовых возможностей Word — стилями. Правильно подготовленная карта стилей позволяет экономить уйму времени. Вы знали, что при изменении параметров существующего стиля они применяются ко всему тексту документа, который отформатирован в этом стиле?
Так вот, чтобы форматирование не занимало слишком много времени, хорошей практикой считается перед началом проекта уяснить требования к оформлению документов (например, определенных в ГОСТ или шаблонах заказчика) и собрать карту стилей хотя бы для следующих элементов:
-
Заголовок 1,2,3,4,5,6 уровней;
-
Текст;
-
Нумерованный список;
-
Список;
-
Название таблицы;
-
Текст таблицы;
-
Название рисунка;
-
Рисунок;
-
Программный код.
Шаблон документа с указанными стилями раздается всем членам команды, а еще лучше сохраняется в корпоративном облаке или Confluence.
При таком подходе вставка новых материалов в документ не нарушает целостность форматирования.
Перенос стилей между документами и очистка стилей
Классическая проблема: вы отдаете документ на проверку по отделам организации. И один из сотрудников вносит свои правки в Libre в Ubuntu, а другой делает то же самое, но используя Mac. Потом документы возвращаются к вам, вы обнаруживаете в них 10000 стилей, текст в непонятных шрифтах и нарушение исходного форматирования.
Классическое решение (взято из интернета): нажимаем галочку в правом нижнем углу раздела «Стили» (или «Ctrl» + «Shift» + «Alt» + «S»), затем «Очистить стили».
Проблема такого подхода в том, что сами стили не удаляются из документа. Происходит сброс примененного форматирования текста, а оставшиеся стили в списке стилей мешают нормально форматировать документ. Очистить документ от мусора в виде тысяч стилей можно, однако автоматически присвоить необходимые стили абзацам не получится (тут уже в ход необходимо пускать Markdown и прочие подходы к разработке документации).
Документ в формате *.docx — это самый обыкновенный архив, который спокойно открывается архиватором (например, WinRAR).
Чтобы открыть документ в WinRAR открываем непосредственно сам архиватор, находим искомый документ, нажимаем правой клавишей мыши и выбираем «Показать содержимое архива». Нам откроется структура папок вида: _rels, customXml, docProps, word. В большей степени нас интересует каталог «Word». Переходим в него. За стили в документе отвечает файл «styles.xml».
Чтобы перенести стили из исходного шаблона документа в требуемый, достаточно заменить файл со стилями в требуемом документе аналогичным файлом из исходного шаблона документа. В требуемом документе стили будут сброшены до тех, что были созданы в шаблоне, зато появится возможность не настраивать карту стилей заново.
Если же есть острое желание очистить документ от всех стилей, файл «styles.xml» нужно удалить.
Если совсем не хочется открывать документ в WinRar, вот скрипт (для Windows):
@ECHO OFF
SET Winrar=C:Program FilesWinRARWinRAR.exe
FOR %%I IN (*.docx) DO (
"%WinRAR%" d "%%I" wordstyles.xml
)
Открываем блокнот, вставляем туда указанный текст и сохраняем в формате *.bat. Переносим полученный файл в каталог с документами, в которых необходимо удалить стили и запускаем.
По-хорошему, чтобы не доводить до подобного, лучше сравнивать документы на предмет выявления правок, и переносить их вручную в документ с нормальным форматированием. Еще лучше – отдавать документ на вычитку в формате *.pdf, чтобы не нарушать правило, что изменения в документ вносит только ответственный за документацию.
Автоматическое содержание (оглавление)
Классическая проблема: Вы работаете над документом размером, например, в 300 страниц. По завершении листаете документ и собираете содержание, проставляете номера страниц. Срочно возникает необходимость вставить в текст новый раздел.
Классическое решение: вставляете необходимый текст, актуализируете нумерацию разделов и всего, что должно быть пронумеровано, актуализируете содержание, заново листаете документ и проставляете новые номера страниц заголовков разделов.
Подход в целом обычный, но зачем проходить такой долгий путь, если можно его избежать. Автособираемое оглавление – стандартная функция Word. По своей сути это еще одно автозаполняемое поле, но с некоторыми нюансами. Оно позволяет переносить из документа абзацы, отформатированные специальным образом, в содержание и автоматически указывать номер страницы, на которой этот абзац расположен.
Делается это достаточно просто, особенно при наличии преднастроенных стилей для заголовков. Если же таких стилей нет, то нужно немного изменить параметры абзаца (а лучше сразу стиля).
Предположим, что у нас есть текст (1). Выделяем в нем нужный заголовок (для нашего примера сразу все), который можно отнести к заголовку первого уровня, и заходим в настройки абзаца (2). Для выбранных абзацев в выпадающем списке «Уровень» (3) выбираем «Уровень 1» и нажимаем «Ок» (4). То же самое проделываем для всех оставшихся абзацев, присваивая им соответствующий уровень.
После того как уровни заголовков проставлены, переходим в пункт меню «Ссылки» (1), «Оглавление» (2), «Настраиваемое оглавление» (3). Здесь в окне «Параметры» (4) можно выполнить более точную настройку параметров содержания или включить в него стили, которым не были заданы уровни. По умолчанию достаточно указать число уровней, которые должны быть перенесены в содержание, нажать «Ок» и посмотреть, все ли, что Вы хотели, оказалось в содержании.
После завершения работы с документом обновление содержание осуществляется, как и любое другое автозаполняемое поле. Необходимо выделить его и нажать «F9». Однако при работе с содержанием будет предложено два варианта: «Полностью» и «Только номера страниц». При выборе параметра «Полностью» форматирование будет сброшено и надо будет править его заново. При обновлении только номеров страниц форматирование не съезжает и выполняется только пересчет страниц.
Макрос. Обрамление выделенного текста двоеточием с обеих сторон
Классическая проблема: в начале проекта не до конца утверждена терминология. Названия изделий, ряд сокращений и прочее выполнено в виде обычного текста, а заказчик требует выделить все эти элементы кавычками.
Классическое решение: открываете все документы один за одним и читаете. Все, на чем сделан акцент, выделяете кавычками.
Выделить одно слово кавычками не выглядит чем-то сложным, однако если вы работали в какой-нибудь IDE, то скорее всего знаете, насколько удобнее, когда ставится сразу две кавычки (открывающая и закрывающая). Аналога подобной функции в Word мне найти не удалось, зато встроенный инструментарий работы с макросами позволяет это реализовать. А чтобы полученный макрос можно было быстро применять, нужно назначить ему горячую клавишу.
Если изначально написать макрос кодом, моя сборка Word не позволяет назначить ему горячую клавишу. Это можно обойти следующим образом: переходим в пункт меню «Вид» (1), «Макросы» (2), «Запись макроса». Откроется окно «Запись макроса», где нужно ввести имя макроса и назначить его клавишам (4). Откроется окно «Настройка клавиатуры» (5), где нужно задать сочетание клавиш для выполнения макроса (например «Ctrl+2», так как кавычки задаются смежным сочетанием «Shift+2») (6), нажать «Назначить» (7) и «Закрыть» (8). Начнется запись макроса. Ее нужно остановить, для чего заходим в меню «Макросы» (2) и нажимаем «Остановить запись».
Теперь в созданный пустой макрос необходимо добавить код. Для этого переходим в «Макросы» (2), выбираем наш макрос из списка и нажимаем «Изменить». Откроется окно редактирования Visual Basic, содержимое которого необходимо заменить кодом ниже.
Sub Кавычки
'
'Кавычки макрос
'
'
If Right(Selection.Text, 1) = Chr(32) Or _
Right(Selection.Text, 1) = Chr(13) Then
Selection.MoveLeft wdCharacter, 1, wdExtend
End If
With Selection
.InsertBefore Chr(171) 'вместо Char(171) можно использовать '('
.InsertAfter Chr(187) 'вместо Char(171) можно использовать ')'
End With
End Sub
Теперь при выделении текста и нажатии «Ctrl+2» он будет обрамлен кавычками с обеих сторон.
Сравнение документов
Классическая проблема: вы отдали документ на проверку и вам внесли в него правки. Вы не знаете, что было изменено, так как коллега поленился включить режим записи исправлений или хотя бы выделить их цветом.
Классическое решение: узнаете у человека, что он исправил, или же открываете два окна со старым и новым документ и начинаете сравнение.
Если вы не пользуетесь программами контроля версий (SVN) вроде GIT, где изменения можно просмотреть в логах, то Word аналогично может подсветить различия двух документов.
Для этого необходимо нажать пункт меню «Рецензирование» (1), «Сравнить» (2), выбрать исходный файл (3), измененный файл (4) и нажать «ОК» (5).
Откроется новое окно Word, в котором в виде комментариев и правок будут доступны все изменения между двумя документами.
Python. Пакетное сохранение документов в PDF
Классическая проблема: передаете комплект документов, а при открытии форматирование начинает съезжать, потому что не хватило шрифтов или еще чего-то.
Классическое решение: передавать документы в формате *.pdf. Для этого вы открываете сначала один документ, нажимаете «Сохранить как», выбираете тип файла «PDF», сохраняете. И так с каждым документом.
Данную процедуру можно автоматизировать с помощью Python, и запуском одного скрипта сохранить пакет документов в формате *.pdf.
Устанавливаем Python, открываем блокнот и вставляем в него следующий код:
import sys
import os
import comtypes.client
def decode_doc_to_pdf(filename):
wdFormatPDF = 17
in_file = os.path.abspath(filename+'.docx')
out_file = os.path.abspath(filename+'.pdf')
word = comtypes.client.CreateObject('Word.Application')
doc = word.Documents.Open(in_file)
doc.SaveAs(out_file, FileFormat=wdFormatPDF)
doc.Close()
word.Quit()
def get_list_of_docx_files():
list_of_all_files = os.listdir('.')
list_of_docx_files = []
for filename in list_of_all_files:
if filename[-4:] == 'docx':
list_of_docx_files.append(filename[:-5])
return list_of_docx_files
docx_list = get_list_of_docx_files()
for filename in docx_list:
decode_doc_to_pdf(filename)
Сохраняем документ с расширением *.py. Все что нужно сделать дальше, это положить скрипт в папку с документами в формате *.docx и запустить его. Если запуск исполняемого файла скрипта не проходит, то выполнить скрипт через командную строку.
Список сокращений
Классическая проблема: необходимо сформировать актуальный список сокращений, использованных в документе.
Классическое решение: читаем весь документ от начала до конца, выписываем все сокращения в отдельном файле, перечитываем документ сначала на предмет корректного применения сокращения (проверяем, что сокращение не используется раньше, чем оно введено)
Подобный процесс можно упростить. Подход не совершенный, так как программно отличить слово в верхнем регистре от сокращения без использования словаря невозможно, а делать подобное макросом в Word — бессмысленно.
Чтобы не нарушать форматирование в основном документе, необходимо сделать его копию. В копии исходного документа необходимо сбросить все форматирование, так как
будет необходимо использовать поиск с подстановочными знаками. Далее нажимаем «Заменить» (1), затем в поле «Найти» (2) вставляем текст « <[А-Я,A-Z]@> » (« <[А-Я]@> » для поиска только русских слов в верхнем регистре). Устанавливаем чекбокс «Подстановочные знаки» (3), нажимаем «Формат» (4), выбираем «Шрифт», затем «Полужирный» и нажимаем «Ок». В строке «Заменить на» (5) появится текст « ^& », после чего нажимаем «Заменить все» (6). Все слова в верхнем регистре будут выделены полужирным шрифтом.
Далее необходимо выделить весь найденный текст в верхнем регистре. Для этого выделяем любое сокращение, отформатированное жирным, нажимаем «Выделить», затем «Выделить текст, имеющий такой же формат». Копируем выделенный текст в буфер обмена (Ctrl+C).
Отсеять слова в верхнем регистре от сокращений и дубликатов можно используя Excel. Если не знакомы с такой процедурой, то открываем Excel, вставляем скопированный текст из буфера обмена в левую верхнюю ячейку. Чтобы удалить дубликаты из получившейся колонки, выделяем ее, переходим на вкладку «Данные» и нажимаем кнопку «Удалить дубликаты».
Появится сообщение вида «Найдено и удалено….осталось». Далее с полученным списком нужно немного поработать руками.
Горячие клавиши
Нельзя было опустить в подобной статье тему горячих клавиш. Учитывая, что есть много достойных статей, как например на официальном сайте Microsoft или же уже готовая шпаргалка, из общего списка горячих клавиш можно лишь выделить минимальный набор часто используемых сочетаний.
Выравнивание
-
CTRL+E — Переключение абзаца между выравниванием по центру и выравниванием по левому краю;
-
CTRL+J — Переключение абзаца между выравниванием по ширине и выравниванием по левому краю;
-
CTRL+R — Переключение абзаца между выравниванием по правому краю и выравниванием по левому краю;
-
CTRL+L — Выравнивание абзаца по левому краю.
Перемещение курсора
-
CTRL+СТРЕЛКА ВЛЕВО — На одно слово влево;
-
CTRL+СТРЕЛКА ВПРАВО — На одно слово вправо;
-
CTRL+СТРЕЛКА ВВЕРХ — На один абзац вверх;
-
CTRL+СТРЕЛКА ВНИЗ — На один абзац вниз.
Удаление слова
-
CTRL+BACKSPACE — Удаление одного слова слева от курсора;
-
CTRL+DEL — Удаление одного слова справа от курсора.
Начертание текста
-
CTRL+B — Добавление полужирного начертания;
-
CTRL+I — Добавление курсивного начертания;
-
CTRL+U — Добавление подчеркивания;
-
CTRL+[ — Уменьшение размера шрифта на 1 пункт;
-
CTRL+] — Увеличение размера шрифта на один пункт;
-
CTRL+SHIFT+> — Увеличение размера шрифта;
-
CTRL+SHIFT+< — Уменьшение размера шрифта.
Прописные буквы
-
SHIFT+F3 — Изменение регистра букв.
Прочее полезное
-
F4 – повтор последнего действия;
-
Alt + двойной клик в любом поле таблицы – выделить таблицу.
Заключение
Какими бы банальными не казались описанные выше операции, это — 90% косяков и ошибок в документах, связанных с оформлением, которые действительно трудно контролировать с ростом объема без четких правил командной работы. Все понимают причины таких ошибок, но не всегда знают, как с ними бороться.
Кто-то просто способен договориться внутри команды о подобных вещах и поделиться опытом, у кого-то подобные правила входят в СМК (Система менеджмента качества), у кого-то описано на уровне СТП (Стандарт предприятия).
Надеюсь, статья оказалась полезной и займет место в закладках не только технических писателей и аналитиков, но и специалистов других областей, которые значительную часть времени проводят в данном текстовом редакторе.
Выполнение в Word повторяющейся задачи, требующей большого количества щелчков мыши или нажатий клавиш, каждый раз вызывает только раздражение. С помощью макроса можно объединить набор команд и заставить Word выполнять их по щелчку мыши или нажатию клавиши.
Включение макроса в Word 2010
Перейдите на вкладку ленты Разработчик. Если этой вкладки на вашей ленте нет, откройте окно Параметры Word и на вкладке Основные установите флажок на параметре Показывать вкладку «Разработчик» на ленте.
На вкладке “Разработчик” в группе команд “Код” нажмите кнопку “Начать запись”. Откроется диалоговое окно Запись макроса.
Для примера сделаем простую запись макроса, которая будет выполнять вставку текста в то место, где будет стоять курсор.
Запускаем запись макроса и в диалоговом окне пишем его название и описание, а так же выбираем доступ.
Нажмем ОК и начнется запись макроса.
Напечатаем текст и добавим ему цвет.
После чего нажмем “Остановить макрос”.
Для запуска макроса нужно нажать кнопку “Макросы” или комбинацию клавиш “Alt + F8”, так же макросу можно задать в личную комбинацию клавиш или вывести кнопку в меню.
Запустив окно “Макрос” выбираем нужный нам макрос и нажимаем выполнить, после чего он вставить в нужное нам место наш текст.
Создание макроса с помощью редактора Visual Basic for Applications (VBA).
Создадим простейший макрос, который будет позволять щелкать по гиперссылке в документе Word без нажатой клавиши Ctrl
Макросы для Word пишутся на языке программирования Visual Basic for Applications (VBA).
Макросы создаются в компоненте Word, который большинство пользователей никогда не видят, — в редакторе Visual Basic (VBE). Открыть редактор Visual Basic можно одним из указанных ниже способов.
- Нажмите сочетание клавиш ALT + F11
- Нажмите кнопку Visual Basic на вкладке Разработчик. Для этого откройте вкладку Файл и нажмите кнопку Параметры. В диалоговом окне Параметры Word нажмите кнопку Настройка ленты. В правой части диалогового окна выберите вкладку Разработчик. Нажмите кнопку ОК, чтобы вернуться к документу, а затем нажмите на вкладке Разработчик кнопку Visual Basic.
- Добавление команды Visual Basic на панель быстрого доступа.
Перед тем как приступить к работе с редактором Visual Basic, выберите в меню Сервис пункт Параметры. В диалоговом окне Параметры установите на вкладке Редактор все флажки.
В левом верхнем углу редактора Visual Basic расположено Окно проекта. В нем отображаются все файлы, открытые в Word в настоящий момент. Там должны отображаться файлы Normal (соответствующий шаблону Normal.dotm) и TheDocument (только что созданный файл).
На приведенном ниже рисунке показан проект TheDocument в окне проекта редактора Visual Basic.
В файле макросы хранятся в виде модулей. Чтобы добавить в файл модуль, выберите в окне проекта файл TheDocument. В меню Вставка выберите пункт Модуль. После добавлении модуля в файл этот модуль появится в окне проекта и в расположенном под ним окне свойств. В окне свойств модуль можно переименовать или оставить имя по умолчанию Module1.
Написание макроса
Большая белая область в правой части редактора Visual Basic предназначена для написания кода макроса. Если она не отображается, выберите в меню Вид пункт Код, чтобы вывести окно кода. Приложение Word автоматически вставит в начало кода оператор Option Explicit. Не удаляйте его.
Нам нужен макрос для переключения между двумя способами перехода по гиперссылке в Word. Он будет работать так же, как и другие кнопки, предназначенные для переключения между значениями параметра в Word. Кнопка Полужирный на вкладке «Главная», например, выделяет текст полужирным шрифтом, если он не был выделен, и отменяет полужирное начертание в противном случае.
Скопируйте и вставьте через буфер обмена приведенный ниже пример кода макроса в окно кода.
Sub ToggleHyperlinkCtrlClick()
Options.CtrlClickHyperlinkToOpen = Not Options.CtrlClickHyperlinkToOpen
End Sub
Это короткий макрос ToggleHyperlinkCtrlClick, состоящий только из одной строки кода. Эта строка означает «Изменить текущее значение параметра Word, определяющего необходимость использования сочетания CTRL + щелчок для перехода по гиперссылке, на противоположное (Not).
Тестирование макроса
Чтобы протестировать макрос, выполните указанные ниже действия.
- Разместите окна Word и редактора Visual Basic рядом друг с другом.
- Щелкните главное окно Word. Введите в документ http://google.com
- В редакторе Visual Basic щелкните в любом месте макроса. Чтобы запустить макрос, выберите в меню Выполнить команду Выполнить процедуру/форму пользователя или нажмите клавишу F5.
- Значение параметра, определяющего способ перехода по гиперссылке, изменится. Наведите указатель мыши на гиперссылку в главном окне Word и убедитесь, что подсказка изменилась.
- Чтобы переключить значение, запустите макрос повторно.
Макрос также можно запустить непосредственно в приложении Word. На вкладке Вид в группе Макросы нажмите кнопку Макросы. Откроется диалоговое окно Макрос, где в списке макросов будет и макрос ToggleHyperlinkCtrlClick. Чтобы запустить ваш макрос, щелкните его имя и нажмите кнопку Выполнить.
Создание на панели быстрого доступа кнопки для запуска макроса
Чтобы запускать макрос одним щелчком мыши, можно добавить кнопку на панель быстрого доступа. Для этого выполните указанные ниже действия.
Создание кнопки на панели быстрого доступа
- Щелкните панель быстрого доступа правой кнопкой мыши и выберите в контекстном меню команду Настройка панели быстрого доступа. В разделе Настройка панели быстрого доступа выберите в списке Выбрать команды из пункт Макросы. В списке «Настройка панели быстрого доступа» выберите файл MyWordTools.dotm. (Это необходимо, чтобы приложение Word сохранило кнопку на панели быстрого доступа в файле MyWordTools.dotm. Если этого не сделать, при копировании файла на другой компьютер кнопка отображаться не будет.) Выберите макрос ToggleHyperlinkCtrlClick и нажмите кнопку Добавить.
- Нажмите кнопку Изменить, чтобы выбрать символ и изменить имя на ToggleHyperlinkCtrlClick.
- Теперь макрос можно запустить в любой момент, нажав кнопку на панели быстрого доступа.
Макросы Word могут быть длинными, сложными и многофункциональными. Например, можно написать макрос для обращения к внешней базе данных, выполнения с полученными данными определенных вычислений и возврата результатов в Word. Также можно написать макрос Word для взаимодействия с Excel, PowerPoint или Outlook. В некоторых случаях и простые макросы могут оказаться полезными, позволяя сэкономить время.
Для форматирования текста больше подходят стили, чем макросы. Для изменения макета документа лучше создать новый шаблон. Кроме того, для выполнения поставленной задачи уже может существовать встроенная команда, которую можно добавить на панель быстрого доступа (при настройке панели быстрого доступа выберите в списке Выбрать команды из: пункт Все команды).
Как назначить сочетания клавиш для макросов
- Откройте диалоговое окно Параметры Word.
- Перейдите на закладку Настройка ленты и выбираем в командах: Макросы.
- Потом выбираем наш макрос и с низу жмем сочетание клавиш – настройки.
- В диалоговом окне настройки клавиатуры выбираем в категории макросы и в окне макросы выбираем нужный нам макрос.
- Щелкаем в новое сочетание клавиш и жмем на клавиатуре нужную нам комбинацию.
- Жмем назначить и ок
Примеры кодов:
Удаление лишних пробелов в тексте без использования диалогового окна “Найти и заменить”
Sub ReplaceMultiSpaces()
Dim oChar As Range
For Each oChar In ActiveDocument.Characters
If oChar.Text = » » Then
While oChar.Next(wdCharacter).Text = » «
oChar.Next(wdCharacter).Delete
Wend
End If
Next
End Sub
Расположение двух открытых документов Word рядом
Sub ArrangeDocWindows()
‘ ArrangeDocWindows Macro
‘ Arranges two document windows side by side vertically
Dim iMiddle As Integer
Dim iClientWid As Integer
Dim iClientHi As Integer
Dim iWin1 As Integer
Dim iWin2 As Integer
Dim sPrompt As String
Dim sWins As String
Dim i As Integer
iClientWid = Application.Width — 9
iMiddle = Fix((iClientWid) / 2)
iClientHi = Application.Height — 94
iWin1 = 1
iWin2 = 2
If Application.Windows.Count > 2 Then
For i = 1 To Application.Windows.Count
sPrompt = sPrompt & CStr(i) & » — » & Application.Windows(i).Caption & vbLf
Next
sWins = InputBox(«Enter numbers of windows to arrange separated by space.» & vbLf & sPrompt, _
«Choose windows», «1 2»)
If sWins = «» Then
Exit Sub
End If
iWin1 = CInt(Left(sWins, InStr(sWins, » «) — 1))
iWin2 = CInt(Mid(sWins, InStr(sWins, » «) + 1))
End If
Application.Windows(iWin1).Activate
Application.Windows(iWin1).WindowState = wdWindowStateNormal
With ActiveWindow
.Left = 0
.Top = 0
.Height = iClientHi
.Width = iMiddle
End With
Application.Windows(iWin2).Activate
Application.Windows(iWin2).WindowState = wdWindowStateNormal
With ActiveWindow
.Left = iMiddle
.Top = 0
.Height = iClientHi
.Width = iClientWid — iMiddle
End With
End Sub
Обратите внимание, что если у вас будет открыто только одно окно, то после нажатия этой кнопки может появиться окно с сообщением редактора кода Visual Basic об ошибке. Закройте его нажав на кнопку End. А в следующий раз будьте внимательны.
Преобразование гиперссылки в документе Word в обычный текст
Sub RemoveHyperlinks()
While ActiveDocument.Hyperlinks.Count > 0
ActiveDocument.Hyperlinks(1).Delete
Wend
Application.Options.AutoFormatAsYouTypeReplaceHyperlinks = False
End Sub
Изменения цвета заглавных букв в тексте
Sub colorAllBig()
Dim fChar As Range
Dim seltext As Range
Dim i As Long
Set seltext = Selection.Range
If Selection.Type = wdSelectionIP Then
MsgBox «Выделите текст»
Else
For Each fChar In seltext.Words
For i = 1 To fChar.Characters.Count
If fChar.Characters(i).Case = wdUpperCase Then
fChar.Characters(i).Font.Color = wdColorRed
Else
fChar.Characters(i).Font.Color = wdColorBlack
End If
Next i
Next fChar
End If
End Sub