В данной статье собраны основные операции и алгоритмы работы, позволяющие повысить эффективность разработки документации в редакторе Microsoft Word как индивидуально, так и при командной работе.
Несмотря на то что материала на подобную тематику написано достаточно, многие продолжают использовать компьютер на уровне печатной машинки не задумываясь о том, что половину рутинной работы можно переложить на тот самый Word.
В статье намеренно не рассматриваются подходы с использованием Markdown, Pandoc, Asciidoc, Confluence как более сложные и узкоспециализированные, а статью хотелось сделать доступной и понятной не только молодым людям, но и людям старших возрастов.
Все описанные действия выполнены в программе «Microsoft Word профессиональный плюс 2019». В предыдущих версиях Word последовательность и названия команд могут отличаться, но описанная функциональность так или иначе существует. По минимуму использованы макросы и автоматизация с помощью сторонних средств (в частности Python, использована версия 3.6).
Описанные операции
Изменение формата перекрестной ссылки на рисунок (таблицу, раздел, пункт)
Исправление съезжающей нумерации в списке при выборе «Начать заново с 1»
Макрос. Обрамление выделенного текста двоеточием с обеих сторон
Автоматическая нумерация рисунков (таблиц)
Классическая проблема: нужно объединить 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), в него нужно дописать сочетание « \# \0 » и обязательно поставить в конце пробел (3). Чтобы увидеть номер рисунка (таблицы), необходимо обновить содержимое поля нажатием «F9» (4).
Если у Вас сложилось впечатление, что это слишком долго, то читаем ниже, как можно немного ускориться.
Ускоренная вставка ссылки на номер рисунка (таблицы)
Ускорить процесс вставки ссылок можно достаточно просто, следуя советам дедушки Сазерленда (методология Scrum), а именно: нужно выполнять одну простейшую операцию. Применительно к нашей задаче следует выделить весь текст нажатием «Ctrl+A», отобразить коды автозаполняемых полей нажатием «SHIFT+F9», открыть окно «Перекрестные ссылки» по примеру выше, после чего необходимо пролистывать документ, перенося курсор в нужные места, выбирать нужные ссылки из открытого окна перекрестных ссылок и вставлять их. Окно «Перекрестные ссылки» закрываем только тогда, когда документ отработан до конца.
По аналогии можно быстро изменить отображение перекрестных ссылок на рисунки (таблицы). Для этого выделяем весь текст нажатием «Ctrl+A», отображаем коды автозаполняемых полей нажатием «SHIFT+F9», копируем в буфер обмена текст « \# \0 » (пробел в конце обязателен) и вставляем его в конце требуемых полей. Обновляем поля нажатием «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 Files\WinRAR\WinRAR.exe
FOR %%I IN (*.docx) DO (
"%WinRAR%" d "%%I" word\styles.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% косяков и ошибок в документах, связанных с оформлением, которые действительно трудно контролировать с ростом объема без четких правил командной работы. Все понимают причины таких ошибок, но не всегда знают, как с ними бороться.
Кто-то просто способен договориться внутри команды о подобных вещах и поделиться опытом, у кого-то подобные правила входят в СМК (Система менеджмента качества), у кого-то описано на уровне СТП (Стандарт предприятия).
Надеюсь, статья оказалась полезной и займет место в закладках не только технических писателей и аналитиков, но и специалистов других областей, которые значительную часть времени проводят в данном текстовом редакторе.
Комментарии (19)
gban
16.02.2022 00:24+1>Устанавливаем Python, открываем блокнот
А зачем Python, VBA уже не работает?
aririkatoku Автор
16.02.2022 09:41Плохо знаком с VBA. Если поможете с таким скриптом то с удовольствием добавлю. Для многих такой подход куда проще будет
Squoworode
17.02.2022 21:17Sub main() where = ThisDocument.Path + "\" 'where = "e:\Download\разобрать же 8\разобрать же 7\разобрать же 6\Аниме\Разобрать (4)\" what = Dir(where + "*.doc*") Do While what <> "" If Not (what = ThisDocument.Name And where = ThisDocument.Path) Then Documents.Open (where + what) Documents(what).ExportAsFixedFormat where + what + ".pdf", wdExportFormatPDF, False Documents(what).Close False End If what = Dir() Loop End Sub
Stillgray
16.02.2022 04:24+2А нельзя ли поставить pdf принтер по умолчанию и распечатать нужные файлы?
Тогда даже VBA не потребуется )Shaman_RSHU
16.02.2022 13:39Почему-то все забывают Файл --> Сохранить как.. --> Формат PDF
Хотя если несколько файлов, то так не вполне удобно
AlexGuest
16.02.2022 08:23Все это конечно здорово. На самом деле без сарказма. Пакет офисных программ MS Office довольно мощный в умелых руках. Но скоро нас всех пересадят на какой нибудь "Мой офис" и будем мы как с чистого листа.
Zhbert
16.02.2022 15:47Пакет офисных программ MS Office довольно мощный в умелых руках.
С ним бывают приколы на ровном месте, от которых прям болит в одном месте. Особенно, если нужно сдавать документы еще вчера, что бывает очень часто.
Писали мы как-то ПЗ на изделие, состоящее из 750 страниц. По ГОСТу, с рамочками, все как положено. Рамочки были засунуты в колонтитулы (не знаю, насколько это правильно с точки зрения вордоводства, но работало прям зачётно), автоматом появлялись на новых листах, все шикарно. И вот прибегают ко мне товарищи, на тот момент оформляющие часть документации, с криками «ВСЁ ПРОПАЛО!». А причина была банально — до 500какой-то страница ворд нормально ставил везде рамки в колонтитулах, а на следующей (разделы и прочее не менялось, просто текст) внезапно перестал, оставив только полторы линии слева и чуть сверху. Болячку пытались побороть всей толпой, но так и не смогли.
Как сдавали это мракобесие потом я уже не помню, к сожалению.
winwood
16.02.2022 09:49В либре при установке перекресной ссылки просто выбираешь "только номер". И все. И так было всегда, сколько я помню. Неужели в ms word все еще нужны какие-то танцы с бубном?
Ну и если в настройках указать "автоназвание" для рисунков, то слово "Рисунок" и номер появляются автоматом при вставке рисунка. Остается дописать только название. Что, в ms word и такой простой вещи нет?
Поражает, как MS нашпиговывает свои продукты функиями, нужнымы едва ли 0.1% пользователей, лепит красивые интерфейсы, но нумерация у них все еще из прошлого века.
Zhbert
16.02.2022 10:20Перешел для доков на LaTeX, там оно все само просто работает без плясок с бубном и каких-то лишних телодвижений =)
AADogov
16.02.2022 10:59Бывает что заказчики и нормоконтроль требуют документ в редактируемом формате doc
Zhbert
16.02.2022 15:41Ой, нормоконтроль... Вспомнилось, как я с ними работал. Пусть и немного не в тему основной статьи :)
Были у нас изделия, по сути одинаковые, ибо серийное производство. И на каждое нужен паспорт. Были шаблоны паспортов, согласованные со всеми, кем только можно, утвержденные и так далее. Чтобы было понятнее — это такой доковский документ страниц на 10-15 с шаблонными фразами, где нужно поменять только номер изделия и еще пару тройку слов.
Каждый раз, когда я отправлял на нормоконтроль очередной паспорт, практически всегда мне его возвращали с нормоконтроля почирканный красной ручкой почти везде. Особенно радовало, когда ты только все исправил (там мелочи вроде переносов строк и так далее, но тем не менее), утвердил и сдал, делаешь на следующее изделие следующий паспорт из этого, поменяв только одну цифру, и получаешь снова почирканный везде красной ручкой обратно.
Помню, я тогда мечтал написать им генератор паспортов, чтобы все нужные циферки можно было вставить в поля в софтине, а на выходе получать ОДИНАКОВЫЕ доки, сгенеренные в латехе. Но так и не написал, уволился раньше, чем руки дошли.
AADogov
16.02.2022 10:58Есть одна существенная и пока не решенная проблема при ссылках на страницы и рисунки. Это склонение ссылок.
aririkatoku Автор
16.02.2022 11:28+1Если https://habr.com/ru/post/651801/#4 (Изменение формата перекрестной ссылки на рисунок (таблицу, раздел, пункт)) не об этом, то опишите пожалуйста проблему подробнее. Самому интересно.
Kekushiftkey
16.02.2022 12:24"На рисунке 3.4 изображено ... " (обновить) "На Рисунок 3.5 изображено ..."
Изучил latex. Матерился, пока ставил. Но *ля: какая же простота! То, что в ворде выдается за космическое превосходство, в латехе оно как база. Со ссылками на рисунки в разы легче. Конечно, компилятор бьет по пальцам, если что-то не так.
Решением с кооперативным доступом у нас выступает браузерный olnyoffice в nexcloud, но там бывают проблемы + нет огромных возможностей, либо я времени не так много на разбор потратил.
Начал считать ворд/поверпоинт раковой опухолью документооборота. Ибо оно сжирает время людей. Excel пока что остается незаменимым подручным инструментом для всяких мелких сравнений и подсчетов.
runaway
16.02.2022 19:12Вставляете перекрёстную ссылку вида "Постоянная часть и номер" (вставится "Рисунок 4"), затем постоянную часть (слово "Рисунок") выделяете и нажимаете ctrl+shift+H. Остаётся только "4".
Итог: фраза "... на рисунке Рисунок 4 изображено..." превратится в "...на рисунке 4 изображено..."
А все скрытые куски полей можно всегда посмотреть и поправить через отображение непечатаемых символов (ну или по хоткею ctrl+shift+8 для вордоводов со звёздочкой).
viteralex
Перегонять скриптом в пдф это, конечно, хорошо. Но зачем в цикле открывать приложение, если можно его открыть один раз и только открывать/закрывать документ?