Гиперссылка на макрос в word

Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщений [ 1 ]

1 07.08.2015 15:45:12

  • Создание гиперссылки с помощью макроса Word
  • 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

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Здравствуйте. Подскажите пожалуйста, как создать макрос который бы вставлял из буфера обмена гиперссылку в текст.
Я вот попробовал записать горячими клавишами.
1 – вначале (можно вручную) выделяю нужный текст, за которым будет ссылка. Например в ворде выделил эти 4 слова «В любой выделенный текст»
2 – а это уже попробовал записать в макрос

Код

Ctrl +K
Ctrl+V и Ente

Получился такой макрос

Visual Basic
1
2
3
4
5
6
7
8
9
Sub вставка_гиперссылки()
'
' вставка_гиперссылки Макрос
'
'
    ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _
        "https://www.google.com.ua/", SubAddress:="", ScreenTip:="", _
        TextToDisplay:="В любой выделенный текст"
End Sub

Но это совсем не то что мне надо. Он почему-то вставляет только одну и ту же гиперссылку, та что записана в макросе, а не та, что скопирована в данный момент в буфере. И не в выделенный текст, а заменяет выделенный текст на тот что написан в TextToDisplay:=». Но мне не надо что бы он заменял.
Или на худой конец пусть вставляет текст, но хотя бы как сделать что бы он вставлял не ссылку, записанную в макросе, а ссылку с буфера обмена.
Было бы очень удобно. Часто к примеру, нахожу какое-то хорошее видео или статью копирую её в ворд и в её же названии вставляю гиперссылку.
Нашел похожую тему «Word VBA Вставить с буфера обмена» Но не селен в этом и не получается.

Добавлено через 6 минут
п.с. хотел подправить первый пункт поста что бы было понятнее, но срок изменения сообщения уже истек
там в 1
– вначале вручную скопировал с обозревателя ссылку https://www.google.com.ua/ дальше тоже вручную выделяю нужный текст, за которым будет ссылка. Например, в ворде выделил эти 4 слова «В любой выделенный текст»



0



fever brain

oh my god

1454 / 793 / 161

Регистрация: 05.01.2016

Сообщений: 2,307

Записей в блоге: 8

11.08.2018, 23:20

2

Кажись должно получиться

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Option Explicit
 
 
Sub вставка_гиперссылки()
'
' вставка_гиперссылки Макрос
'
'
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        
        .GetFromClipboard
        If isUrl(.GetText) Then
            ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _
                    .GetText, SubAddress:="", ScreenTip:="", _
                    TextToDisplay:="В любой выделенный текст"
        
        Else
            MsgBox "Текст буфера не является url"
        End If
        
 
    End With
    
    
 
End Sub
 
Function isUrl(ByVal url$) As Boolean
    Dim v
    For Each v In Array("ftp://", "http://", "https://")
        If InStr(1, url, v, 1) > 0 Then isUrl = 1: Exit For
    Next
End Function



0



fever brain

oh my god

1454 / 793 / 161

Регистрация: 05.01.2016

Сообщений: 2,307

Записей в блоге: 8

11.08.2018, 23:51

3

Лучший ответ Сообщение было отмечено BolgarchukR как решение

Решение

Кстати я немного усовершенствовал наш макрос
теперь вставляется и ссылка и заголовок той самой страницы

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Option Explicit
 
 
 
 
Function UrlTitle(ByVal Url$) As String
    'Получение заголовка страницы по указанной ссылки
 
    With CreateObject("InternetExplorer.Application")
        .Navigate Url
        
        While .Busy 'ждем готовность документа
            DoEvents
        Wend
        UrlTitle = .Document.Title
    End With
    
End Function
 
 
 
Sub вставка_гиперссылки()
'
' вставка_гиперссылки Макрос
'
'
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        
        .GetFromClipboard
        If isUrl(.GetText) Then
            ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _
                    .GetText, SubAddress:="", ScreenTip:="", _
                    TextToDisplay:=UrlTitle(.GetText)
        
        Else
            MsgBox "Текст буфера не является url"
        End If
        
 
    End With
    
    
 
End Sub
 
Function isUrl(ByVal Url$) As Boolean
    Dim v
    For Each v In Array("ftp://", "http://", "https://")
        If InStr(1, Url, v, 1) > 0 Then isUrl = 1: Exit For
    Next
End Function

на рисунке ниже я скопировал url-адрес этой темы и выполнил макрос

Миниатюры

Как сделать макрос вставки гиперссылки в текст в ворде?
 



0



fever brain

oh my god

1454 / 793 / 161

Регистрация: 05.01.2016

Сообщений: 2,307

Записей в блоге: 8

12.08.2018, 00:37

4

В коде нужно было еще дописать Quit

Visual Basic
1
2
        UrlTitle = .Document.Title
        .Quit 'Закрытие InternetExplorer

Не по теме:

Цитата
Сообщение от BolgarchukR
Посмотреть сообщение

хотел подправить первый пункт поста что бы было понятнее, но срок изменения сообщения уже истек
там в 1

Подправить можно если никто не ответил
если написать чтото а затем нажать правку



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
Visual BasicВыделить код
1
2
UrlTitle = .Document.Title
.Quit ‘Закрытие InternetExplorer

Да, надо дописать. Т.к. к примеру при копировании ссылки с ютуба, тоже все прекрасно вставляется, но эта же ссылка запускается в интернет эксплорере.
А куда именно вставить? После End Function или перед… Почему то пока не удается вставить. Видать не туда вставляю. Выдает ошибки при срабатывании скрипта.



0



fever brain

oh my god

1454 / 793 / 161

Регистрация: 05.01.2016

Сообщений: 2,307

Записей в блоге: 8

12.08.2018, 18:47

7

Цитата
Сообщение от BolgarchukR
Посмотреть сообщение

Еще мелкий нюанс, вдруг кто тоже будет пробовать. У меня первый раз немного задумалось, да и второй. Выдало сообщение «Предупреждение системы безопасности»

Да тут все просто, это реакция безопасности InternetExplorer именно в его параноидальных настройках по умолчанию
блокировка многих современных вэб-сайтов и доков (требуется понизить безопасность именно в Internet — Explorer )
можно конечно применить к этому макросу и другой вэб-инструмент но я ж не знаю как устроенна именно ваша система
поэтому предложил общий макрософтный вэб-инструмент который наиболее распространен в windows

Добавлено через 4 минуты
более того, для еще большей скорости можно привязывать макрос к сочетаниям клавиш
к примеру скопировал ссыль с firefox ctrl+c и вторым движением выполнил макрос в документе под его фокусом ctrl+u
тоесть два движения руки и все + чтоб меньше задержек было снизить безопасность о которой писал выше
на вирусни это никак не повлияет, получение заголовка не предпологает выполнение скриптов

Добавлено через 2 минуты

Цитата
Сообщение от BolgarchukR
Посмотреть сообщение

А куда именно вставить?

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Function UrlTitle(ByVal Url$) As String
    'Получение заголовка страницы по указанной ссылки
 
    With CreateObject("InternetExplorer.Application")
        .Navigate Url
        
        While .Busy 'ждем готовность документа
            DoEvents
        Wend
        UrlTitle = .Document.Title
        .Quit '-сюда
    End With
    
End Function

Добавлено через 14 минут

Цитата
Сообщение от fever brain
Посмотреть сообщение

можно конечно применить к этому макросу и другой вэб-инструмент

Как альтернатива класс Microsoft XML теперь окошек с вопросами точно не будет. к тому-же
этот класс также используется во всех системах

новый код

Кликните здесь для просмотра всего текста

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Option Explicit
 
 
 
Function UrlTitleXML(ByVal Url$) As String
    'Получение заголовка страницы по указанной ссылке классом Microsoft XML
    Dim title As String
    On Error Resume Next
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", Url, False
        .Send
        UrlTitleXML = Split(.ResponseText, "<title>", 2, 1)(1)
        UrlTitleXML = Split(UrlTitleXML, "</title>", 2, 1)(0)
    End With
End Function
 
 
 
 
Sub вставка_гиперссылки()
'
' вставка_гиперссылки Макрос
'
'
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        
        .GetFromClipboard
        If isUrl(.GetText) Then
            ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _
                    .GetText, SubAddress:="", ScreenTip:="", _
                    TextToDisplay:=UrlTitleXML(.GetText)
        
        Else
            MsgBox "Текст буфера не является url"
        End If
        
 
    End With
    
    
 
End Sub
 
Function isUrl(ByVal Url$) As Boolean
    Dim v
    For Each v In Array("ftp://", "http://", "https://")
        If InStr(1, Url, v, 1) > 0 Then isUrl = 1: Exit For
    Next
End Function

Как назначить макросу сочетание клавиш



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

Не по теме:

Цитата
Сообщение от BolgarchukR
Посмотреть сообщение

Гениально! Вы предвосхитили мои ожидания. Столько лет мучений… Сколько бы можно было сэкономить времени.

Мне конечно приятно о себе читать столь теплые слова. но всетаки скажу что это слишком эмоционально
все можно найти на просторах интернета. есть же способы поиска и расширенные возможности и тд.
особенно если заранее знать что требуется найти.
В моем случае я нашел инфу в трех местах. которая не относилась к данной теме, зато по которой
при желании можно дописать под себя



0



0 / 0 / 2

Регистрация: 07.07.2015

Сообщений: 57

31.08.2018, 23:40

 [ТС]

10

Цитата
Сообщение от fever brain
Посмотреть сообщение

Как альтернатива класс Microsoft XML теперь окошек с вопросами точно не будет. к тому-же
этот класс также используется во всех системах
новый код

Еще раз спасибо. Теперь и окошко не появляется, и работает на много быстрее. А то почему-то у меня прошлый работал с небольшой задержкой, и не всегда вставлял, то открывал отладчик, то вставлял одну ссылку. Но опять же возможно это было только у меня так, хотя в безопасности интернет эксплорера поставил все на минимум, брандмауэр и антивирусник отключил. Впрочем, это уже не имеет значения, как я понял новый код работает по другому принципу и с настройками безопасности играться не надо.
Хотя у меня возник новый дополнительный вопрос. Часто приходится копировать ссылки с привязкой ко времени в длинных видео, может как-то можно сделать что бы они вставлялись как тайм коды в ворд? Сейчас они вставляются как обычные гиперссылки. Вот например как раз смотрю https://youtu.be/dys9AOFni64?t=1574 и конспектирую создавая привязки к тому или иному месту. Смотрю длинные видео часто, искать в них что-то повторно долго. А так, пока смотришь можно было бы вставлять в ворд короткие заметки с привязкой к тому или иному времени, так как это делается в комментариях: 26:14. Там кстати вставленное время именно в таком формате автоматом преобразуется в гиперссылку. Но сделать такое преобразование в ворде, в макросах, наверно не просто…

Не по теме:

Цитата
Сообщение от fever brain
Посмотреть сообщение

…особенно если заранее знать что требуется найти.
В моем случае я нашел инфу в трех местах. которая не относилась к данной теме, зато по которой
при желании можно дописать под себя

да, вот как раз дописывать под себя я и не умею. Да и действительно, надо знать, что искать, а для этого нужно достаточно неплохо разбираться в теме, для меня, как и наверное для многих, пока это довольно сложно.

Добавлено через 25 минут
п.с. ну или хотя бы сделать бы еще макрос вставляющий ссылку в выделенный текст. Конечно вышепредложенный макрос вставки ссылки внутрь названия автоматом, это уже весьма удобно и полезно, но помимо такой вставки, иногда удобнее вставить под произвольно выделенный текст. К примеру я скопировал ссылку с привязкой ко времени, написал в водре «кетогенная диета», выделил это словосочетание и одним кликом вставил в него ссылку. Что бы получилось примерно так кетогенная диета



0



0 / 0 / 2

Регистрация: 07.07.2015

Сообщений: 57

05.07.2020, 14:39

 [ТС]

11

Не знаю как другие, но я долго пользовался этой удобной функцией. Более того, по-видимому, не только мне она приглянулась. В Google документах ссылка тоже вставляется именно так, без всяких макросов. Но это в Google документах.
Однако я пишу по другому поводу, макрос перестал корректно работать со ссылками YouTube. В начале, почему-то после название видео начала дописываться «YouTube», а теперь и вовсе вставляет только слово — «YouTube», без названия самого видео. То есть смысл работы макроса теряются, поскольку нет названия. Хотя под словом YouTube ссылка на нужное видео, но без названия самого видео.
С другими сайтами работает более-менее корректно. Проблема возникла только с Ютубом. Макрос тот же самый. Что они там накрутили… А может и не они. Может у меня какой-то конфликт в системе. На другой машине, пока, продолжает работать нормально. Не охота из-за такой мелочи переустанавливать всё заново. Может кто сталкивался? Подскажите пожалуйста.



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 Отключение макросов

как сделать кнопку для макроса в word

Макрос — это набор определенных действий, команд и/или инструкций, которые сгруппированы в одну целостную команду, обеспечивающую автоматическое выполнение той или иной задачи. Если вы активный пользователь MS Word, вы тоже можете автоматизировать часто выполняемые задачи, создав для них соответствующие макросы.

Именно о том, как включить макросы в Ворд, как их создавать и использовать для упрощения, ускорения рабочего процесса и пойдет речь в этой статье. И все же, для начала не лишним будет более подробно разобраться в том, зачем вообще они нужны.

Области использования макросов:

    Последовательность макросов может быть записана или создана с нуля путем введения кода в редактор Visual Basic на одноименном языке программирования.

    Включение макросов

    По умолчанию макросы доступны не во всех версиях MS Word, точнее, они просто не включены. Чтобы активировать их необходимо включить средства разработчика. После этого на панели управления программы появится вкладка “Разработчик”. О том, как это сделать, читайте ниже.

    Примечание: В версиях программы, в которых макросы доступны изначально (например, Ворд 2016), средства для работы с ними находятся во вкладке “Вид” в группе “Макросы”.

    как сделать кнопку для макроса в word

    1. Откройте меню “Файл” (кнопка “Microsoft Office” ранее).

    2. Выберите пункт “Параметры” (ранее “Параметры Word”).

    3. Откройте в окне “Параметры” категорию “Основные” и перейдите в группе “Основные параметры работы”.

    4. Установите галочку напротив пункта “Показывать вкладку “Разработчик” на ленте”.

    5. На панели управления появится вкладка “Разработчик”, в которой и будет находиться пункт “Макросы”.

    Запись макросов

    1. Во вкладке “Разработчик” или, в зависимости от используемой версии Ворда, во вкладке “Вид”, нажмите кнопку “Макросы” и выберите пункт “Запись макроса”.

    как сделать кнопку для макроса в word

    2. Задайте имя для создаваемого макроса.

    как сделать кнопку для макроса в word

    Примечание: Если вы, создавая новый макрос, даете ему точно такое же имя, как у встроенного в программу, действия, записанные вами в новый макрос, будут выполняться взамен стандартным. Для просмотра макросов, доступных в MS Word по умолчанию, в меню кнопки “Макросы” выберите “Команды Word”.

    3. В пункте “Макрос доступен для” выберите то, для чего он будет доступен: шаблон или документ, в который его следует сохранить.

    как сделать кнопку для макроса в word

      4. В поле “Описание” введите описание для создаваемого макроса.

      как сделать кнопку для макроса в word

      5. Выполните одно из действий, указанных ниже:

      Начните запись — чтобы приступить к началу записи макроса, не связывая его при этом с кнопкой на панели управления или комбинацией клавиш, нажмите “ОК”. Создайте кнопку — чтобы связать создаваемый макрос с кнопкой, расположенной на панели управления, выполните следующее:

        • Нажмите “кнопке”;
          • Выберите документ или документы, в которых требуется добавить создаваемый макрос на панель быстрого доступа (раздел “Настройка панели быстрого доступа”);

          как сделать кнопку для макроса в word

            как сделать кнопку для макроса в word

            В окне “Макрос из” (ранее “Выбрать команды из”) выберите макрос, который следует записать, нажмите “Добавить”.

            как сделать кнопку для макроса в word

              • Если вы хотите настроить эту кнопку, нажмите “Изменить”;
                • Выберите подходящий символ для создаваемой кнопки в поле “Символ”;
                  • Введите имя макроса, которое будет отображаться в дальнейшем в поле “Отображаемое имя”;
                    • Для начала записи макроса дважды кликните по кнопке “ОК”.

                    как сделать кнопку для макроса в word

                    Символ, который вы выбрали, будет отображаться на панели быстрого доступа. При наведении указателя курсора на этот символ, будет отображаться его имя.

                    Назначьте сочетание клавиш — Для того, чтобы назначить комбинацию клавиш для создаваемого макроса, выполните следующие действия:

                      • Кликните по кнопке “Клавишами” (ранее “Клавиатура”);

                      как сделать кнопку для макроса в word

                        • В разделе “Команды” выберите макрос, который необходимо записать;

                        как сделать кнопку для макроса в word

                          • В разделе “Новое сочетание клавиш” введите любую удобную для вас комбинацию, после чего нажмите кнопку “Назначить”;

                          как сделать кнопку для макроса в word

                            • Для начала записи макроса нажмите “Закрыть”.

                            6. Выполните поочередно все те действия, которые необходимо включить в макрос.

                            Примечание: Во время записи макроса нельзя использовать мышь для выделения текста, а вот для выбора команд и параметров нужно использовать именно ее. При необходимости, выделить текст можно с помощью клавиатуры.

                            Урок: Горячие клавиши в Ворде

                            7. Для остановки записи макроса нажмите “Остановить запись”, эта команда расположена в меню кнопки “Макросы” на панели управления.

                            как сделать кнопку для макроса в word

                            Изменение комбинаций клавиш для макроса

                            1. Откройте окно “Параметры” (меню “Файл” или кнопка “MS Office”).

                            2. Выберите пункт “Настройка”.

                            3. Нажмите на кнопку “Настройка”, расположенную рядом с полем “Сочетание клавиш”.

                            4. В разделе “Категории” выберите “Макросы”.

                            5. В открывшемся списке выберите макрос, который необходимо изменить.

                            6. Кликните по полю “Новое сочетание клавиш” и нажмите клавиши или комбинацию клавиш, которые вы хотите назначить для конкретного макроса.

                            как сделать кнопку для макроса в word

                            7. Убедитесь, что назначенное вами сочетание клавиш не используется для выполнения другой задачи (поле “Текущее сочетание”).

                            8. В разделе “Сохранить изменения” выберите подходящий вариант (место) для сохранения места, где макрос будет запускаться.

                            как сделать кнопку для макроса в word

                              9. Нажмите “Закрыть”.

                              Запуск макроса

                              1. Нажмите на кнопку “Макросы” (вкладка “Вид” или “Разработчик”, в зависимости от используемой версии программы).

                              как сделать кнопку для макроса в word

                              2. Выберите макрос, который хотите запустить (список “Имя макроса”).

                              3. Нажмите “Выполнить”.

                              как сделать кнопку для макроса в word

                              Создание нового макроса

                              1. Нажмите кнопку “Макросы”.

                              как сделать кнопку для макроса в word

                              2. Задайте имя для нового макроса в соответствующем поле.

                              как сделать кнопку для макроса в word

                              3. В разделе “Макросы из” выберите шаблон или документ, для которого будет сохранен создаваемый макрос.

                              как сделать кнопку для макроса в word

                                4. Нажмите “Создать”. Будет открыт редактор Visual Basic, в котором и можно будет создать новый макрос на языке Visual Basic.

                                как сделать кнопку для макроса в word

                                На этом все, теперь вы знаете, что такое макросы в MS Word, зачем они нужны, как их создавать и как с ними работать. Надеемся, информация из этой статьи будет полезной для вас и действительно поможет упростить, ускорить работу со столь продвинутой офисной программой.

                                Мы рады, что смогли помочь Вам в решении проблемы.

                                Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

                                Помогла ли вам эта статья?

                                Да Нет

                                А вы знали, что часто повторяемые действия в текстовом редакторе Word последних версий (2007, 2010, 2013, 2016) можно автоматизировать? Достигается это путем создания макросов в «Ворде». Что это, как их сделать, включить/отключить, как открыть файл с такими элементами, мы обязательно разберем далее.

                                Что это — макросы в «Ворде»?

                                Макрос — это комплекс инструкций, группируемых в единую команду для автоматического выполнения того или иного задания. Пишутся они на языке Visual Basic в редакторе с одноименным названием.

                                как сделать кнопку для макроса в word

                                Чаще всего макросы применяются пользователем для:

                                • Ускорения наиболее востребованных действий форматирования, редактирования.
                                • Объединения нескольких команд в одну. Как пример — создание таблицы с определенным числом столбцов, строк, стилем границ.
                                • Облегчения доступа к параметрам, находящимся в диалоговых окнах.
                                • Автоматизации процесса обработки последовательных сложных операций.

                                Таким образом, макросы в «Ворде» превращают несколько задач в одно действие. Чтобы его осуществить, необходимо набрать комбинацию клавиш или нажать на кнопку панели быстрого доступа.

                                Word 2010-2016: запись макроса, запускающегося кнопкой

                                Разберем, как создать макрос в «Ворде» этого типа:

                                1. Зайдите в «Вид», выберите «Макрос» — «Создать…».
                                2. Придумайте имя для этого комплекса команд.
                                3. Если вы хотите использовать его для всех файлов, то обязательно выберите доступность «Для всех документов».
                                4. Кликните на назначение «По кнопке».
                                5. В следующем окне кликните на новый макрос. Его наименование будет начинаться с Normal — NewMacros, после чего будет следовать имя, которым вы его обозначили.
                                6. Далее — щелчок на «Добавить», а затем на «Изменить».
                                7. Из предложенной палитры выберите значок для своего макроса в «Ворде».
                                8. Теперь самая важная часть: запись шагов. Для каждого нужно выбрать команду или нажать определенную клавишу. Текст необходимо выделять с помощью клавиатуры. Система будет записывать все шаги, что вы сделаете, — нажатия клавиш, действия мышью.
                                9. Когда вы завершите задуманное, закончите запись: зайдя в раздел «Макросы», выберите «Остановить…»

                                Вы увидите, что на панели быстрого доступа появилась кнопка созданной вами команды. Нажав на нее, вы автоматически выполните записанную последовательность действий.

                                Word 2010-2016: запись макроса, запускающегося комбинацией клавиш

                                Теперь разберем, как создать макрос в «Ворде», который активируется нажатием сочетания кнопок:

                                1. Зайдите в «Вид», найдите «Макросы». Далее — «Записать…»
                                2. Введите его имя. Не забудьте указать, если это нужно, что макрос доступен для всех документов.
                                3. Выберете значок доступности по клавиатуре.
                                4. В поле «Новое сочетание…» введите определенную комбинацию клавиш, которая будет запускать в действие макрос. Если она будет совпадать с другой стандартной командой, то нужно придумать иное сочетание.
                                5. Кликните на «Назначить».
                                6. Теперь запись шагов для макроса: для каждого из них выставляйте определенную команду, щелчок мышкой. Все действия будут сохраняться системой.
                                7. Когда все будет готово, зайдите в «Макросы» (меню «Вид») и остановите запись.

                                Теперь установленным сочетанием клавиш вы можете активировать созданный комплекс команд.

                                Word 2007: начало создания макроса

                                Теперь расскажем, как сделать макрос в «Ворде 2007». Процесс немного отличается от того, что представлен для поздних версий этого текстового редактора.

                                Первым делом вам нужно активировать вкладку разработчика:

                                1. Кликните на кнопку Microsoft Office (круглую, с логотипом компании).
                                2. Выберите «Параметры «Ворда»».
                                3. В «Основных параметрах…» сделайте активным пункт «Показывать «Разработчик» на ленте».

                                Теперь переходим непосредственно к созданию комплекса команд:

                                1. Зайдите на появившуюся вкладку «Разработчик». В «Коде» выберите «Запись макроса».
                                2. В «Имя…» введите название. Будьте внимательны: если оно будет совпадать с наименованием стандартного макроса, то новая запись заменит его. Поэтому для проверки в «Макросах» группы «Код» найдите «Команды Word» и убедитесь, что придуманное имя не совпадает с там присутствующими.
                                3. В «Макрос доступен…» выберите, где его можно применять. Если для всех файлов, то остановитесь на Normal.dotm.
                                4. Введите описание.

                                Word 2007: три варианта записи макроса

                                Далее вы можете пойти тремя путями.

                                Запись без привязки. Вы пишете макрос, не связывая его ни с кнопкой, ни с сочетанием клавиш. Для этого достаточно нажать на ОК.

                                Привязка макроса к кнопке. Тут следует пойти таким путем:

                                1. Щелкните на «По кнопке».
                                2. В «Настройки панели быстрого доступа» выберите все документы или отдельный файл, где можно применять этот макрос.
                                3. В окне «Выбрать команды» нажмите на нужный макрос. Затем — щелчок на «Добавить».
                                4. Для настройки кликните на «Изменить».
                                5. В «Символе» выберите значок для кнопки.
                                6. «Отображаемое имя» — наименование макроса.
                                7. Два раза кликните на ОК, чтобы начать запись.

                                Привязка макроса к сочетанию клавиш. Здесь следующий путь:

                                1. Остановитесь на «Клавиатуре».
                                2. В «Командах» найдите макрос, который вы собрались записать.
                                3. В «Новом сочетании клавиш» введите придуманную комбинацию. Клик на «Назначить».
                                4. Щелкните на «Закрыть», чтобы начать запись.

                                Далее путь становится единым для всех вариантов:

                                1. Выполните последовательность действий, которую нужно включить в макрос.
                                2. Завершить процесс можно выбором «Остановить запись» во вкладке «Код».

                                Открытие файлов с макросами

                                Документы, поддерживающие макросы, имеют расширение .docm. Трудности с ними иногда возникают на моменте запуска — текстовой редактор выдает ошибку. Разберем, как открыть «Ворд» с макросами:

                                • Два раза щелкните на данный документ. Система сама выберет программу на вашем ПК, способную его открыть.
                                • При неудаче измените расширение на .doc, .docx.
                                • В случае неудовлетворительного результата воспользуйтесь программами:
                                • Word 2007, распознающий Open XML.
                                • «Ворд» 2010.
                                • Приложение FileViewPro.

                                Включение макросов

                                Как включить макросы в «Ворде»? Есть три варианта.

                                При появлении панели сообщений. Как только вы открываете файл с макросами, перед вами на экране выходит желтое окошко с щитом и просьбой включить данный комплекс команд. Только если вы уверены в надежности источника документа, нажмите на панели «Включить содержимое».

                                С помощью представления Backstage. При открытии файла с макросами сделайте следующее:

                                1. Кликните на «Файл».
                                2. В «Предупреждении системы безопасности» нажмите на пункт «Включить содержимое».
                                3. В данном разделе сделайте активным «Всегда включать…» Это превратит документ в надежный.

                                Включение на время открытия документа. Можно сделать макросы активными только на период работы с определенным файлом. Когда вы его уже закроете и запустите заново, их снова придется включать. Для такого варианта следующий алгоритм:

                                1. Откройте вкладку с названием «Файл».
                                2. В «Предупреждении системы безопасности» нажмите на «Включить содержимое».
                                3. Перейдете в «Доп. параметры».
                                4. В «Параметрах безопасности…» выберите «Включить лишь для этого сеанса» в отношении каждого из имеющихся в документе макросов.
                                5. Подтвердите нажатием ОК.

                                Отключение макросов

                                Напоследок разберем, как убрать макросы в «Ворде»:

                                1. Во вкладке «Файл» перейдите на «Параметры».
                                2. В «Центре управления…» выберите «Параметры центра…»
                                3. Щелкните на «Параметры макросов».
                                4. Выберите, что вам нужно:
                                  • Отключить все без уведомления (как макросы, так и предупреждения об опасности/безопасности).
                                  • Отключить все с уведомлением (убираются только макросы, уведомления о безопасности остаются).
                                  • Отключить все, кроме макросов с цифровой подписью (отображаются только макросы издателя, которому выражено доверие, — на их включение нужно согласиться в уведомлении при открытии файла).
                                5. Подтвердите выбор нажатием на ОК.

                                Создание макросов имеет свои особенности в различных версиях текстового редактора «Ворд». А при открытии файла с данной группой команд в данной программе вы можете выбрать, включать или не активировать их.

                                Это глава из книги Билла Джелена Гуру 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 и на вкладке Основные установите флажок на параметре Показывать вкладку «Разработчик» на ленте.

                                Включение макроса в Word 2010

                                 На вкладке “Разработчик” в группе команд “Код” нажмите кнопку “Начать запись”. Откроется диалоговое окно Запись макроса.

                                 Для примера сделаем простую запись макроса, которая будет выполнять вставку текста в то место, где будет стоять курсор.
                                Запускаем запись макроса и в диалоговом окне пишем его название и описание, а так же выбираем доступ.

                                Запускаем запись макроса 
                                Нажмем ОК и начнется запись макроса.
                                Напечатаем текст и добавим ему цвет.

                                Создаем текст

                                 После чего нажмем “Остановить макрос”.
                                Для запуска макроса нужно нажать кнопку “Макросы” или комбинацию клавиш “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 на панель быстрого доступа.

                                VBA 
                                Перед тем как приступить к работе с редактором Visual Basic, выберите в меню Сервис пункт Параметры. В диалоговом окне Параметры установите на вкладке Редактор все флажки.

                                В левом верхнем углу редактора Visual Basic расположено Окно проекта. В нем отображаются все файлы, открытые в Word в настоящий момент. Там должны отображаться файлы Normal (соответствующий шаблону Normal.dotm) и TheDocument (только что созданный файл).

                                На приведенном ниже рисунке показан проект TheDocument в окне проекта редактора Visual Basic.
                                В файле макросы хранятся в виде модулей. Чтобы добавить в файл модуль, выберите в окне проекта файл TheDocument. В меню Вставка выберите пункт Модуль. После добавлении модуля в файл этот модуль появится в окне проекта и в расположенном под ним окне свойств. В окне свойств модуль можно переименовать или оставить имя по умолчанию Module1.

                                VBA project

                                 Написание макроса

                                Большая белая область в правой части редактора Visual Basic предназначена для написания кода макроса. Если она не отображается, выберите в меню Вид пункт Код, чтобы вывести окно кода. Приложение Word автоматически вставит в начало кода оператор Option Explicit. Не удаляйте его.

                                Нам нужен макрос для переключения между двумя способами перехода по гиперссылке в Word. Он будет работать так же, как и другие кнопки, предназначенные для переключения между значениями параметра в Word. Кнопка Полужирный на вкладке «Главная», например, выделяет текст полужирным шрифтом, если он не был выделен, и отменяет полужирное начертание в противном случае.

                                Скопируйте и вставьте через буфер обмена приведенный ниже пример кода макроса в окно кода.

                                Sub ToggleHyperlinkCtrlClick()
                                    Options.CtrlClickHyperlinkToOpen = Not Options.CtrlClickHyperlinkToOpen
                                End Sub

                                Это короткий макрос ToggleHyperlinkCtrlClick, состоящий только из одной строки кода. Эта строка означает «Изменить текущее значение параметра Word, определяющего необходимость использования сочетания CTRL + щелчок для перехода по гиперссылке, на противоположное (Not).

                                Пример кода

                                 Тестирование макроса

                                Чтобы протестировать макрос, выполните указанные ниже действия.

                                1. Разместите окна Word и редактора Visual Basic рядом друг с другом.
                                2. Щелкните главное окно Word. Введите в документ http://google.com
                                3. В редакторе Visual Basic щелкните в любом месте макроса. Чтобы запустить макрос, выберите в меню Выполнить команду Выполнить процедуру/форму пользователя или нажмите клавишу F5.
                                4. Значение параметра, определяющего способ перехода по гиперссылке, изменится. Наведите указатель мыши на гиперссылку в главном окне Word и убедитесь, что подсказка изменилась.
                                5. Чтобы переключить значение, запустите макрос повторно.

                                Тестирование 

                                Макрос также можно запустить непосредственно в приложении Word. На вкладке Вид в группе Макросы нажмите кнопку Макросы. Откроется диалоговое окно Макрос, где в списке макросов будет и макрос ToggleHyperlinkCtrlClick. Чтобы запустить ваш макрос, щелкните его имя и нажмите кнопку Выполнить.

                                Создание на панели быстрого доступа кнопки для запуска макроса
                                Чтобы запускать макрос одним щелчком мыши, можно добавить кнопку на панель быстрого доступа. Для этого выполните указанные ниже действия.

                                Создание кнопки на панели быстрого доступа

                                1. Щелкните панель быстрого доступа правой кнопкой мыши и выберите в контекстном меню команду Настройка панели быстрого доступа. В разделе Настройка панели быстрого доступа выберите в списке Выбрать команды из пункт Макросы. В списке «Настройка панели быстрого доступа» выберите файл MyWordTools.dotm. (Это необходимо, чтобы приложение Word сохранило кнопку на панели быстрого доступа в файле MyWordTools.dotm. Если этого не сделать, при копировании файла на другой компьютер кнопка отображаться не будет.) Выберите макрос ToggleHyperlinkCtrlClick и нажмите кнопку Добавить.
                                2. Нажмите кнопку Изменить, чтобы выбрать символ и изменить имя на ToggleHyperlinkCtrlClick.
                                3. Теперь макрос можно запустить в любой момент, нажав кнопку на панели быстрого доступа.

                                Дабвление иконки 
                                Макросы Word могут быть длинными, сложными и многофункциональными. Например, можно написать макрос для обращения к внешней базе данных, выполнения с полученными данными определенных вычислений и возврата результатов в Word. Также можно написать макрос Word для взаимодействия с Excel, PowerPoint или Outlook. В некоторых случаях и простые макросы могут оказаться полезными, позволяя сэкономить время.

                                Для форматирования текста больше подходят стили, чем макросы. Для изменения макета документа лучше создать новый шаблон. Кроме того, для выполнения поставленной задачи уже может существовать встроенная команда, которую можно добавить на панель быстрого доступа (при настройке панели быстрого доступа выберите в списке Выбрать команды из: пункт Все команды).

                                 Как назначить сочетания клавиш для макросов

                                • Откройте диалоговое окно Параметры Word.
                                • Перейдите на закладку Настройка ленты и выбираем в командах: Макросы.
                                • Потом выбираем наш макрос и с низу жмем сочетание клавиш – настройки.
                                • В диалоговом окне настройки клавиатуры выбираем в категории макросы и в окне макросы выбираем нужный нам макрос.
                                • Щелкаем в новое сочетание клавиш и жмем на клавиатуре нужную нам комбинацию.
                                • Жмем назначить и ок

                                 
                                Cочетания клавиш

                                Примеры кодов:
                                Удаление лишних пробелов в тексте без использования диалогового окна “Найти и заменить”

                                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

                                Понравилась статья? Поделить с друзьями:
                              1. Гиперссылка на лист в другом файле excel
                              2. Гиперссылка на конкретную ячейку excel
                              3. Гиперссылка на изображение excel
                              4. Гиперссылка на значение в ячейке в excel
                              5. Гиперссылка на другую страницу в excel