Макрос для word ссылки

BolgarchukR

0 / 0 / 2

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

Сообщений: 57

1

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

10.08.2018, 22:10. Показов 8531. Ответов 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



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

Страницы 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 вы узнаете про: копировать из автокад в ворд.
Также вы можете оставить заявку на любую работу, связанную с Вордом.

В данной статье собраны основные операции и алгоритмы работы, позволяющие повысить эффективность разработки документации в редакторе 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. Однако, к сожалению пользователей, эти механизмы продуманы на удивление плохо и имеют существенные ограничения.

Одним из таких ограничений является невозможность вставлять в качестве перекрестной ссылки «только номер».

То есть, если у вас есть рисунок с подписью «Рисунок 1. Ель», то вы можете в качестве перекрестной ссылки использовать либо «название целиком»: «…изображено на Рисунок 1. Ель», либо «постоянную часть и номер»: «…изображено на Рисунок 1», либо «только текст названия»: «…изображено на Ель». Готового способа использовать только номер, то есть: «…изображено на рисунке 1», — нет. Хотя только в этом случае мы можем получить текст, согласованный в падежах и числах.

В официальной справочной системе Word демонстрируется не самый типичный способ ссылаться на рисунок: «См. Рис. 1» (обратите внимание, что на иллюстрации «рис» написано со строчной буквы — в действительности ссылка будет вставлена так, как указано в поясняющем тексте — с прописной).

То есть особенности русского языка разработчиками просто проигнорированы.
Пользователь имеет возможность вручную редактировать текст перекрестных ссылок, однако после обновления нумерации (выполняется путем выделения соответствующего текста и нажатия F9; или автоматически происходит при печати документа) ссылка принимает исходный вид.

Рассмотрим несколько подходов к решению этой проблемы: «скрытый текст», «удаление постоянной части заменой», «модификация скрытых закладок», «модификация кода поля перекрестной ссылки». Если вас не интересуют технические подробности — для каждого из способов приводится пошаговая инструкция для неподготовленного пользователя.

Создание перекрестных ссылок «только номер» с помощью «скрытого текста»

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

1. Вставьте перекрестную ссылку как «постоянную часть и номер».
2. Выделите постоянную часть (например «Рисунок «) и нажмите Ctrl+Shift+H. Либо: в контекстном меню выберите «Шрифт…», в открывшемся окне выберите «скрытый», нажмите «ОК».


Теперь перекерстная ссылка отображается так как нужно — «только номер».


В режиме отображения непечатаемых символов отображается скрытая постоянная часть (скрытые текст подчеркивается пунктиром).


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

Создание перекрестных ссылок «только номер» путем модификации скрытых закладок

Когда вы создаете перекрестную ссылку, Word автоматически создает скрытую закладку, включающую в себя текст ссылки.

Соответственно, переопределив закладку, мы решаем проблему. Переопределение можно выполнить вручную, выбрав только номер в подписи рисунка, выбрав соответствующую закладку и нажав кнопку «Добавить».

После обновления перекрестных ссылок (F9) будет отображаться только номер.

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

1. При создании документа вставляйте перекрестные ссылки в режиме «постоянная часть и номер», но формулируйте предложения так, будто у вас ссылка содержит только номер, например: «на рисунке Рисунок 4.2 представлено…»

2. Перед публикацией документа (например, перед печатью либо перед сохранением окончательной версии документа) запустите предлагаемый макрос (добавление в документ и запуск описывается ниже), выделите весь текст и нажмите F9 — теперь все ссылки будут отображаться в режиме «только» номер, даже при повтором обновлении (F9).

Преимущества этого решения: нет необходимости помечать постоянную часть каждой добавляемой перекрестной ссылки как «скрытый текст» (см. предыдущий метод); после запуска макроса ссылки отображаются в режиме «только номер» и в режиме отображения непечатаемых символов; простой метод: запуск макроса выполняется двумя действиями пользователя (Alt+F8 и щелчок мышью — см. ниже).

Ограничения: требует использования макроса (может быть запрещено политикой безопасности); перекрестные ссылки, создаваемые после запуска макроса, содержат постоянную часть перед номером — поэтому требуется повторный запуск; перекрестные ссылки, вставленные в режиме «название целиком» будут сокращены до «номер и название» — без постоянной части.

Описанный макрос работает в Office 2003/2007/2010. Во избежание проблем, сделайте резервную копию данных перед применением макроса.

Если вы знаете, каким образом добавить макрос в документ, то можете воспользоваться его кодом (загрузить файл bas) либо файлом, содержащим макрос (загрузить файл docm).

Если не знаете, выполните описанные ниже шаги (инструкция для Word 2007 и 2010).

1. Загрузите и сохраните файл docm.
2. Откройте ваш документ и нажмите Alt+F8. Откроется окно «Макрос».
3. Нажмите кнопку «Организатор…» в окне «Макрос». Откроется окно «Организатор».
4. Нажмите на кнопку «Закрыть файл» с правой стороны окна. Кнопка изменит вид на «Открыть файл…»

5. Нажмите кнопку «Открыть файл…» и выберите загруженный файл. Обратите внимание, что в диалоговом окне по умолчанию предлагается выбрать шаблоны: внизу окна в ниспадающем списке «Тип файлов» отображается «Все шаблоны».
6. Выберите в этом списке «Все файлы», чтобы в окне выбора файла отображался загруженный файл.

7. Выберите в правом списке единственный появившийся пункт «Module1» и нажмите кнопку «<- Копировать». Этот пункт появится в спиcке слева. Обратите внимание, что если ваш документ уже содержит макросы, то список слева будет изначально содержать дополнительные пункты. Если среди них уже есть пункт «Module1», то перед копированием выберите пункт «Module1» в спиcке справа, нажмите «Переименовать…» и задайте имя, которого нет в списке слева. После этого копируйте. Имя не играет никакой роли и не будет далее отображаться вам.

8. Закройте окно «Организатор».

Теперь всё готово.

Для того чтобы запустить макрос, нажмите ALT+F8, выберите в списке макросов «Искл_из_перекрест_ссылок_пост_часть» и нажмите «Выполнить» (либо дважды щелкните на названии макроса в списке).

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

Другие способы создания перекрестных ссылок «только номер» описаны в отдельной записи.

Перекрестные ссылки

Перекрестные ссылки
облегчают пользователям ориентацию и
доступ к информации в документе и даже
в других документах. Перекрестные ссылки
вставляются в документы Wordв виде полей. Текстовый редактор может
обновлять эти поля автоматически, при
выводе на печать, при сохранении. Кроме
этого, есть возможность обновлять их в
ручную (для этого следует выделить поле
и нажатьF9).

Перекрестные ссылки
обычно содержат следующую информацию:
текст, который ввел пользователь, и
информация о перекрестной ссылке,
которую вставляет Word.
Например, можно ввести стандартный
текст типа «См. также», а затем вставить
ссылку на соответствующий заголовок
или номер страницы.

Для организации
перекрестных ссылок можно использовать
заголовки, абзацы, закладки, сноски,
формулы, рисунки и таблицы. Перед
созданием перекрестной ссылки необходимо
создать объект, на который она будет
указывать, например сноски.

  1. Ввести
    текст, который должен содержаться в
    ссылке (например, «См. также»). Поместить
    курсор точно в позицию, в которую будет
    вставлена ссылка. Выбрать менюВставка
    → Перекрестная ссылка,
    для вывода
    на экран диалогового окнаПерекрестная
    ссылка (
    Рис. 2).

  2. В списке Тип
    ссылки
    необходимо указать нужный
    тип (например, заголовок) и затем в
    спискеВставить ссылку на следует
    указать нужный вариант типа данных для
    вставки в документ.

  3. Для вставки ссылки
    в виде гиперссылки

нужно установить

флажок

Рис. 2

Вставить
как гиперссылку.

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

  2. Повторить п.п. 2, 3
    и 4 для всех ссылок, которые необходимо
    вставить. По окончанию щелкнуть на
    кнопке Закрыть.

Колонтитулы

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

Как и другие элементы
документа, колонтитулы можно форматировать.

Для создания
колонтитул надо:

  1. Открыть документ,
    выбрать меню Вид → Колонтитулы,
    для вывода на экран панель инструментовКолонтитулы.

  2. Ввести информацию
    в колонтитул.

  3. Чтобы выключить
    в колонтитул номер страницы, число
    страниц
    , дату или время, необходимо щелкнуть на соответствующей
    кнопке на панели инструментовКолонтитулы.

  4. Чтобы создать
    нижний колонтитул, надо щелкнуть на
    кнопке Верхний/нижний колонтитул .

Макросы

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

Макросы
часто используются для следующих целей:

  • Для
    ускорения часто выполняемых операций
    редактирования или форматирования

  • Для
    объединения нескольких команд, например,
    для вставки таблицы с указанными
    размерами и границами и определенным
    числом строк и столбцов

  • Для
    упрощения доступа к параметрам в
    диалоговых окнах

  • Для
    автоматизации обработки сложных
    последовательных действий в задачах

Для
создания
макроса

в Word
можно использовать два метода: с помощью
средства для записи макросов или
редактора Visual Basic.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Понравилась статья? Поделить с друзьями:
  • Макрос для word скачать бесплатно
  • Макрос для word печать
  • Макрос для word миф
  • Макрос для word готовые
  • Макрос для word вставка текста