Destio небольшой блог

Microsoft Word

Еще один источник широких пробелов в Microsoft Word

Иногда в документах бывают очень широкие, размером с широкий символ пробелы, которые имеют совершенно корректные стили и свойства, но широкие. Я не знаю как они появляются, может быть связаны с иероглифами или восточно-азиатской разметкой. Часто ютятся в колонтитулах, которые имеют особые отношения с корневыми стилями документа. Если остальные способы борьбы с форматированием не помогают от […]

Читать дальше

,

Выровнять последнюю строку по ширине в Word

Если лишняя пустая строка после абзаца не помешает, то можно все выровнять, добавив разрыв строки (shift + enter). Это иногда очень неудобно, особенно если колонок больше одной. Есть еще один способ выравнивания абзаца по ширине – специальная опция для выравнивания иероглифов, которая отсутствует в меню по умолчанию (но появится, если один из языков редактирования с […]

Читать дальше

Подстрочные сноски без нумерации в Microsoft Word

Подстрочные сноски без обозначений выглядят странно, но иногда нужно туда что-то засунуть, не ссылаясь из текста. Для этого надо открыть меню Ссылки->Сноски->Формат->Другой->Символ… и выбрать неразрывный пробел (может и другие пробелы работают, кроме обычного, обычный сдефаултится на цифру). Сноска получится самая обычная и будет таскаться по страницам за тем местом, куда прикреплена.

Читать дальше

,

Как передать документ Word в функцию или подпрограмму

Передача аргументов в подпрограмму (subroutine) или функцию в VBA немного сложнее чем обычно, поэтому чтобы передать открытый документ на обработку в подпрограмму, можно писать вот так: Sub setDoi(activeFile As Document, articleNumber) … End Sub Dim oDoc As Document fileCount = 1 Call setDoi(oDoc, fileCount) Можно вызывать функцию и без Call, особенно если ей нужно вернуть […]

Читать дальше

, ,

Если не работают автоматические переносы в Microsoft Word

Автоматические переносы вещь очень удобная (если нужны переносы, а они вообще-то не особо и нужны), но я не раз натыкался на то что переносы включены (Разметка страницы->Расстановка переносов->Авто), но не переносят. Банальная причина – у абзаца запрещен перенос в свойствах (Абзац->Положение на странице). Причина посложнее – неправильный язык, или автоопределение ошиблось, или автор спутал русский с […]

Читать дальше

Как найти и выделить все вхождения текста, VBA (Word)

Окошко “Найти и заменить” в Microsoft Word может мазать все найденное желтеньким, но это не имеет отношения к выделению текста (и VBA может). А если искать с выделением (Selection.Find), то нахождение каждого следующего вхождения снимает выделение с предыдущего. Поэтому для простаты надо искать в цикле (Do While True в самый раз). Вот пример куска кода, […]

Читать дальше

, ,

Как дописать текст в конец DOCX файла, VBA

Следующий небольшой кусок кода дописывает textToTheEnd в конец файла и применяет к нему стиль L-text-normal, если такой есть в этом документе. Если нет, макрос вылетит с ошибкой, хехе. Я не помню зачем надо было сдвигать все на 1 символ вперед и как в результате будут расставлены переносы строк и абзацев. Наверное надо будет потестить. Set […]

Читать дальше

, , , ,

Автоматическая нумерация страниц в Microsoft Word

Раньше я пользовался более окольным методом автоматической нумерации страниц, но вот дошли руки состряпать решение поаккуратнее. Нижеприведенный макрос сам сосчитает и вставит номера страниц сразу во все DOC и DOCX файлы (в алфавитном порядке), найденные в рабочей папке (например c:\test\ ). Конечно, для этого в колонтитуле уже должны быть указаны номера, а макрос просто установит […]

Читать дальше

, , ,

Регулярные выражения в Microsoft Office Word

Потрогав основы Perl, я, естественно, немного обучился регулярным выражениям и начал тыкать автозамены куда не надо. Ощутив необходимость разных автозамен в MS Word я полез искать — не может же быть такая здоровая байда без регулярок. И верно, не может, вот они, тут. Чтобы поиск и замена работал с регулярными выражениями, нужно отметить чекбокс “подстановочные […]

Читать дальше

,

Установка номера страниц через макросы в Word

Со времени написания этого сообщения я обзавелся более продвинутым способом нумерации, а этот пусть лежит для истории. Что надо сделать? Проставить страницы у пачки .doc и docx файлов. Что уже сделано для этого? В каждом файле уже есть колонтитулы с номерами страниц, просто каждый начинается с 1 страницы. Сами номера страниц заботливо сосчитаны кривеньким перл-скриптом […]

Читать дальше

, , ,

Записки постарше