Автоматическая вставка изображений в word

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Sub m_1()
Dim oDocument As Word.Document
Dim Флаг As Boolean
Dim oTable As Word.Table
Dim FileSystemObject As Scripting.FileSystemObject
Dim Папка As Scripting.Folder
Dim Файл As Scripting.File
Dim ИмяПапки As String
Dim Вопрос As String
Dim НеизвестныеФайлы As String
Dim oCell As Word.Cell
Dim i As Long
'Проверка, что документ, в который будут вставляться фотографии, открыт.
    For Each oDocument In Documents
        If oDocument.Name = "Вставка фотографий.doc" Then
            Флаг = True
            Exit For
        End If
    Next oDocument
    If Флаг = False Then
        MsgBox "Документ, в который надо вставлять фотографии, не открыт", vbExclamation
        Exit Sub
    End If
'Просмотр папки с фотографиями. Если в этой папке окажутся форматы
'(последние буквы после точки в названии файла), не указанные в коде,
'то будет создан их список. Если в этом списке окажутся фотографии,
'то в код надо добавить форматы этих фотографий. Если изменения в код
'не будут внесены, то эти файлы из списка не будут добавлены в документ,
'даже если они будут фотографиями.
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Выберие папку с фотографиями"
        If .Show = 0 Then
            Exit Sub
        End If
        ИмяПапки = .SelectedItems(1)
    End With
    Вопрос = MsgBox("Была выбрана следующая папка" & vbCr & ИмяПапки, vbOKCancel + vbExclamation)
        If Вопрос = vbCancel Then
            Exit Sub
        End If
    Set FileSystemObject = CreateObject("Scripting.FileSystemObject")
    Set Папка = FileSystemObject.GetFolder(ИмяПапки)
    For Each Файл In Папка.Files
        If InStr(Файл.Type, "JPEG") = 0 And InStr(Файл.Type, "PNG") = 0 And _
            InStr(Файл.Type, "TIF") = 0 And InStr(Файл.Type, "GIF") = 0 And _
            InStr(Файл.Type, "Точечный рисунок") = 0 Then
            НеизвестныеФайлы = НеизвестныеФайлы & vbCr & Файл.Name
        End If
    Next Файл
    If НеизвестныеФайлы <> "" Then
        Вопрос = MsgBox("В папке с фотографиями находятся неизвестные коду форматы файлов." & vbCr & _
                "Просмотреть эти файлы? Среди них могут оказаться фотографии.", _
                vbCritical + vbYesNo)
        If Вопрос = vbYes Then
            Set oDocument = Documents.Add
            oDocument.Range = НеизвестныеФайлы
            Exit Sub
        End If
    End If
'Помещение в переменную oDocument документа, в который вставляем фотографии.
'В дальнейшем, в коде будем указывать не документ, а переменную oDocument,
'которая и будет из себя представлять этот документ.
    Set oDocument = Documents("Вставка фотографий.doc")
    oDocument.Sections(1).PageSetup.Orientation = wdOrientLandscape
'Создание образца таблицы и помещение её в автотекст.
    With oDocument
        Set oTable = .Tables.Add(.Range(Start:=.Range.End - 1, End:=.Range.End - 1), _
            NumRows:=2, NumColumns:=2, DefaultTableBehavior:=wdWord8TableBehavior, _
            AutoFitBehavior:=wdAutoFitWindow)
            With oTable
                .Range.Cells.VerticalAlignment = wdCellAlignVerticalTop
                .Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
            End With
    End With
    NormalTemplate.AutoTextEntries.Add Name:="ТаблицаДляФотографий", Range:=oDocument.Tables(1).Range
'Добавление в документ новых таблиц и вставка в их ячейки фотографий.
    For Each Файл In Папка.Files
        If InStr(Файл.Type, "JPEG") > 0 Or InStr(Файл.Type, "PNG") > 0 Or _
            InStr(Файл.Type, "TIF") > 0 Or InStr(Файл.Type, "GIF") > 0 Or _
            InStr(Файл.Type, "Точечный рисунок") > 0 Then
            If i = 4 Then
                With oDocument
                    .Range(Start:=.Range.End - 1, End:=.Range.End - 1).InsertParagraph
                    NormalTemplate.AutoTextEntries("ТаблицаДляФотографий").Insert _
                        Where:=.Range(Start:=.Range.End - 1, End:=.Range.End - 1), RichText:=True
                End With
                i = 0
            End If
            i = i + 1
            oDocument.InlineShapes.AddPicture Файл.Path, SaveWithDocument:=True, _
                Range:=oDocument.Tables(oDocument.Tables.Count).Range.Cells(i).Range
        End If
    Next Файл
End Sub

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

Выберите службу хостинга изображений

Ключом к вставке изображения в MS Word, которое обновляется автоматически, является размещение его там, где вы можете обновить изображение, но сохраните ссылку без изменений. Мы рекомендуем Dropbox. Вы можете обновить файл Dropbox, не разрывая ссылку. Это делает его идеальным для наших целей.

Прямая ссылка на изображение

Вы собираетесь вставить изображение из URL-адреса в MS Word. Вот как вы заставляете его автоматически обновляться, когда вам нужно. Мы рекомендуем использовать Dropbox, но вам нужно обойти одну небольшую сложность. Dropbox не предоставляет вам прямую ссылку на файл. Без прямой ссылки вы не можете вставить изображение, на которое она указывает, в MS Word.

Решение простое. Скопируйте любую ссылку, которую Dropbox дает вам для вашего изображения. Замените www.dropbox.com на dl.dropboxusercontent.com.

Например;

Эта ссылка;

www.dropbox.com/s/guoyupf4u0iic6f/Image-1.jpg?dl=0

становится;

dl.dropboxusercontent.com/s/guoyupf4u0iic6f/Image-1.jpg?dl=0

Вставить изображение в MS Word

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

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

Нажмите ОК, и ваше изображение будет вставлено.

Замена изображения в документе

Теперь, когда вы добавили изображение в MS Word, которое обновляется автоматически, вам необходимо обновить его. Для обновления изображения вам вообще не потребуется доступ к документу. Вместо этого вам нужно изменить изображение, на которое указывает URL-адрес. Просто замените изображение в Dropbox. В следующий раз, когда документ откроется, он получит последнее изображение по URL-адресу.

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

Параметры поля InsertPicture

Вам может быть интересно, какие три параметра вы включили при вставке изображения. Параметр «Дата не сохраняется вместе с документом» указывает MS Word не загружать изображение по URL-адресу. Вместо этого MS 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 2007. После подключения надстройки на вкладке «Вставка» появится группа «Изображений из папки»:

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

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

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

Внешний вид галереи:

Возле каждого изображения стоит его номер, во всплывающей подсказке содержится имя файла, размер изображения и DPI.

DPI (произносится как ди-пи-ай) — сокращение для англ. Dots Per Inch, количество точек на линейный дюйм.

Источник: Википедия.

Клик по уменьшенному изображению вставит в документ изображение из соответствующего файла. При этом изображение будет вставлено либо в текст, либо с обтеканием текста, в соответствии с выбранным «Режимом вставки».

Если при этом будет отмечен флажок «Вставлять название», то к изображение будет автоматически вставлено название, как при выполнении команды «Вставить название». При отмеченном флажке «Имя файла в названии» в название к рисунку будет добавлено имя файла. При отмеченном флажке «Не нумеровать» из названия будет удалён номер рисунка и постоянная часть.

Текст названия будет оформлен стилем «Название объекта».

Программный код надстройки открыт для просмотра и редактирования.

Данная версия работает только в Word 2007 в 32-разрядных операционных системах

Если вы хотите быстро вставить или импортировать сразу несколько изображений или изображений в документ Word, Kutools for Word’s Вставить несколько изображений Утилита может быстро вставить в документ сразу несколько изображений или фотографий.

Вставляйте или импортируйте сразу несколько картинок или изображений в документ Word


стрелка синий правый пузырь Нажмите Кутулс > Вставить несколько изображений. Смотрите скриншот:

снятое изображение 1


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

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

1. Откройте документ, в который вы хотите вставить несколько фотографий или изображений, а затем примените эту утилиту, нажав Кутулс > Вставить несколько изображений.

2. Укажите настройки в Вставить картинки диалоговое окно. Смотрите скриншот:

A : Вы можете использовать эту кнопку, чтобы добавить или вставить сразу несколько файлов изображений в Вставить картинки диалоговое окно.

B: С помощью этой кнопки можно быстро добавить или вставить все изображения или фотографии из папки в Вставить картинки диалоговое окно.

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

D : Пожалуйста, нажмите Вставить кнопка для быстрой вставки изображений. Функции: Вы также можете вставить каждый путь к файлу изображения в качестве заголовка изображения.

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


Это только один из инструментов Kutools for Word

литий-оранжевыйKutools for Word освобождает от выполнения трудоемких операций в Word;

литий-оранжевыйС наборами удобных инструментов для Word 2021 — 2003 и Office 365;

литий-оранжевыйПростота использования и установки в Windows XP, Windows 7, Windows 8/10/11 и Windows Vista;

Дополнительные функции  |  Скачать бесплатно  |  Купить

Комментарии (7)


Оценок пока нет. Оцените первым!

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Автоматизировать расчеты в excel помогают калькулятор
  • Автоматизировать процесс решения задачи в excel
  • Автоматизировать данные в word
  • Автоматизировать вычисления в excel
  • Автоматизированный табель учета рабочего времени в excel с формулами

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии