Активно Сборник надстроек для Microsoft Word (10 штук).
Илья недавно задал вопрос:
При сохранении документа word в формат html при открытии документа браузером появляются крякозабры. Причем, независимо от языка. Это происходит с разными браузерами. В чем может быть дело? Office 2007 SP2.
Я не нашелся, что ответить. Но буквально на следующий день Илья самостоятельно обнаружил причину такого поведения. Вот что он сообщил:
Проблема оказалась глубже. Есть такая утилита, которая называется "XFilesDialog" - служит для расширения диалоговых окон. Так вот, когда она запущена, то Word при сохранении текста в формате html вносит в документ нечитаемые символы. А лечится это безобразие отключением опции "Обработать и заменить окно диалога офиса".
Пишу Вам на тот случай, если у кого-то возникнет аналогичная ситуация.
Спасибо Илья.
Однако в версии редактора Word 2007 эта функция хоть и существует, но реализована очень неудобно. В качестве примера: в ранних версиях редактора Word можно было ввести часть текста и сразу же появлялось предложение закончить ввод с автотекстом:
Люди химических профессий, а также старшеклассники, студенты, аспиранты и прочие, изучающие эту замечательную науку, наверняка не раз озадачивались утомительным процессом ввода формул в Microsoft Word. Рассматриваемая сегодня бесплатная надстройка Mendeleev 4.0 к этому популярному текстовому редактору призвана значительно упростить работу с несложными химическими формулами и уменьшить количество возникающих при их вводе ошибок.
В процессе работы с документами можно присоединять, добавлять и удалять шаблоны, стили, макросы и элементы автотекста. Эти функции доступны при выборе команды Шаблоны и надстройки в меню Сервис (рис. 47).
Измененные стили будут обновлены в существующих документах, только если установлен флажок Автоматически обновлять стили в диалоговом окне Шаблоны и надстройки.
Рис. 47.
Шаблоны и надстройкиПри работе с документом обычно используются только те элементы списка автотекста, макросы, настраиваемые панели инструментов, -меню и сочетания клавиш, которые хранятся в шаблоне, присоединенном к этому документу, или в шаблоне "Обычный".
Упражнение
Создание шаблона
1. Выберите команду Создать в меню Файл . Выберите шаблон Новый документ.
2. Установите переключатель Создать в положение Шаблон .
3. Нажмите кнопку ОК .
4. Отформатируйте шаблон следующим образом:
выберите команду Параметры страницы из меню Файл . Перед вами откроется
диалоговое окно Параметры страницы;
установите книжную ориентацию Книжная , открыв закладку Размер бумаги ;
выберите закладку Поля , щелкнув левой клавишей мыши, и установите значения:
Верхнее: (Тор:) - верхнее поле (2 см);
Нижнее: (Bottom:) - нижнее поле (2 см);
Левое: (Left:)-левое поле (3.5 см);
Правое: (Right) - правое поле (2 см).
Если вы печатаете многостраничный документ, но при этом используете только одну сторону листа (чаще всего на предприятиях документы печатаются на одной стороне листа), то опция Зеркальные поля должна быть отключена, т. е. квадратик слева не должен быть отмечен крестиком, а также в строке Переплет надо поставить нуль.
Если вы печатаете на листе с двух сторон, то опцию Зеркальные поля следует включить. К тому же можно добавить некоторое поле на переплет (не более 1 см) в строке Переплет. Величина добавляемого поля зависит от толщины сшиваемого документа.
1. Введите название предприятия и адрес.
2. Оформите название предприятия, выполнив команду Шрифт из меню Формат . Установите следующие опции: шрифт Aria l 18, полужирный, междустрочный интервал полуторный.
Создайте стиль Название на основе примененного форматирования.
3. Выберите команду Стиль в меню Формат для открытия диалогового окна Стиль .
4. Выберите Создать . Появляется диалоговое окно Создание стиля .
5. Введите имя нового стиля.
6. Вставьте дату исполнения в документ, выполнив команду Дата и время из меню Вставка и установите формат даты xx.xx.xx .
7. Введите и отформатируйте текст письма, как показано ниже.
8. Сохраните шаблон под именем Письмо_общий .dot.
9. Закройте шаблон.
(адрес отправителя)
АО "КУДИЦ-ОБРАЗ"
11 19021 Москва,
Комсомольский проспект, 12/1, стр. 3.
(адрес получателя)
Название организации
Уважаемый читатель!
Мы надеемся, что книга будет Вам полезной и интересной. Ваши отзывы и пожелания просим направлять автору.
Конструирование интерфейсов чаще всего используется при создании надстроек. Надстройка представляет собой невидимый документ со встроенным VBA-кодом и с собственными дополнениями к интерфейсу, автоматически открываемый приложением при запуске. При запуске он не показывает своё тело (т.е. содержимое документа — текст, рисунки и пр.), а проявляется только своими изменениями в интерфейсе и подключенными макросами. Таким образом, приложение Microsoft Office дополняет свой функционал, и позволяет редактировать другие документы, используя вновь полученные функции.
Документ надстройки для Word имеет расширение.dotm. Фактически, надстройка для Word является обычным шаблоном с поддержкой макросов. Для надстроек Excel и PowerPoint имеются отдельные расширения — .xlam и.ppam соответственно.
Замечу, что надстройки.xlam и.ppam просто так не открываются в приложениях в качестве документа для редактирования, поэтому пока такая надстройка не готова, её сохраняют как обычный документ с поддержкой макросов. А вот шаблон.dotm можно открыть в Word именно как шаблон (по крайней мере, Ribbon XML Editor это делает), поэтому его можно сохранять шаблоном и в процессе разработки надстройки. Однако, я всё же рекомендую действовать единообразно, и исходники надстроек всегда держать в формате обычных документов с поддержкой макросов, и переводить их в шаблоны или надстройки только после полного окончания их разработки.
Итак, давайте попробуем построить надстройку Word, которая будет выглядеть, как отдельная вкладка, и содержать группу с кнопками, выполняющими некоторые действия. Пусть это будут некие действия с пробелами. Замечу, что процесс создания надстройки Excel ничем не отличается от создания надстройки Word и, умея создавать одно, вы будете уметь создавать другое.
Откроем Ribbon XML Editor, откроем в нём наш подопытный документ, и в окно для 2007-го интерфейса скопируем текст интерфейса нашей надстройки:
Ознакомьтесь с кодом интерфейса. Тут всё просто. Надстройка добавляет новую вкладку, и располагает на ней группу работы с пробелами, содержащую три кнопки. Для упрощения примера, в качестве иконок для кнопок я использовал максимально подходящие встроенные изображения. Вы можете использовать вместо них свои собственные, вы это уже умеете.
Первая кнопка удаляет все повторяющиеся пробелы. Довольно полезная функция, учитывая то, что правильная вёрстка в Word вообще не предполагает идущих подряд пробелов. Вторая кнопка преобразует все пробелы в переносы строк, а третья — обратное действие, т.е. переносы строк в пробелы. Тоже нужная функция для работы с последовательностями различных лексем.
Сгенерируем функции обратного вызова (Alt+F11 ). Скопируем шаблоны в буфер обмена (обращаем внимание на раскладку клавиатуры во избежание появления кракозябр). Закроем окно шаблонов и запустим документ. Перейдём в редактор Бейсика (Alt+F11 ) и вставим взятые в буфер обмена шаблоны функций вместо наших старых функций модуля RibbonCallbacks.
Теперь осталось написать на Бейсике нужные команды. Очевидно, нам понадобится функция поиска и замены. С помощью штатной функции записи макросов я выяснил, каким кодом осуществляется поиск и замена, и организовал это в виде отдельной функции, которую мы будем использовать внутри наших функций обратного вызова.
Итак, вставляем в код новую функцию:
"НайтиИЗаменить (компонент: button, атрибут: onAction), 2007
Sub НайтиИЗаменить(findString As String, replaceString As String)
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = findString
.Replacement.Text = replaceString
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
End Sub
Функция принимает на вход строку для поиска и строку для замены, а внутри функции вставлен код из макроса, который записывался во время реального поиска и замены. Несомненно, в нём много лишнего, так как все эти параметры наверняка имеют значения по умолчанию. Тем не менее, для надёжности я оставил всё как есть — хуже уж точно не будет.
Теперь заполняем шаблоны процедур обратного вызова:
"УдалитьПовторяющиесяПробелы (компонент: button, атрибут: onAction), 2007
Sub УдалитьПовторяющиесяПробелы(control As IRibbonControl)
Dim NumCharsBefore As Long, NumCharsAfter As Long
Do
NumCharsBefore = ActiveDocument.Characters.Count
Call НайтиИЗаменить(" ", " ")
NumCharsAfter = ActiveDocument.Characters.Count
Loop Until NumCharsBefore = NumCharsAfter
End Sub
"ПробелыВПереносыСтрок (компонент: button, атрибут: onAction), 2007
Sub ПробелыВПереносыСтрок(control As IRibbonControl)
Call НайтиИЗаменить(" ","^p")
End Sub
"ПереносыСтрокВПробелы (компонент: button, атрибут: onAction), 2007
Sub ПереносыСтрокВПробелы(control As IRibbonControl)
Call НайтиИЗаменить("^p", " ")
Call НайтиИЗаменить("^w^p", "")
End Sub
Как видите, код элементарен, ничего сложного. В первой функции мы организовываем цикл, в котором сдвоенные пробелы меняем на одинарные, и который будет выполняться до тех пор, пока при очередной его итерации размер текста до и после поиска и замены не останется равным. Это будет означать, что сдвоенных пробелов в тексте уже не осталось.
Две последние функции ещё более элементарны. Там просто вызывается наша функция по поиску и замене, которая меняет пробел на символ абзаца (^p) или наоборот. В последнем случае мы ещё и удаляем появившийся в конце текста из-за неубирающегося символа абзаца лишний пробел (^w — чистое пространство, например, пробелы или табуляция).
Сохраняем код, закрываем редактор Бейсика и сразу проверяем работу кнопок в документе. Замечу, что закрывать редактор Бейсика не обязательно, можно просто сохранить в нём изменения и переключиться в окно документа. Если кнопки заработали, как надо, сохраняем документ как шаблон с макросами (.dotm) в папку:
C:\Users\[ИмяПользователя]\AppData\Roaming\Microsoft\Word\STARTUP
Теперь добавим нашу надстройку. Закрываем всё, открываем Word, лезем в Файл -> Параметры -> Надстройки -> Управление, выбираем «Надстройки Word» и нажимаем кнопку «Перейти». В открывшемся окне на первой же вкладке нажимаем «Добавить…» и выбираем наш файл. Нажимаем «ОК», и наша надстройка начинает действовать.
Если заходит речь о редакторах текста, то у большинства пользователей возникает ассоциация с Microsoft Word. И это вполне понятно и справедливо, т.к. по набору функций, простоте и легкости освоения у данного редактора не так много конкурентов.
Но, несмотря на все старания разработчиков учитывать интересы и потребности всех групп пользователей - это далеко не всегда удается. Это и не удивительно, ведь потребности школьника существенно отличаются от потребностей бухгалтера или кандидата химических наук. И порой возникает потребность в специфических функциях, которые используются достаточно узким кругом специалистов. Как быть? Для этого разработчик редактора предусмотрел установку программ-надстроек. Такие надстройки позволяют существенно расширить базовую функциональность редактора.
Как правило, такие программки поставляются бесплатно и единственное что вам необходимо это скачать их. А дальше необходимо добавить эту надстройку в редактор. Как это сделать правильно мы и рассмотрим ниже.
Вся установка состоит из пяти последовательных шагов:
- выбираем необходимую программу – надстройку и качаем на жесткий диск, если редактор Word 2007 то расширение будет.Dot (если файл в архиве – распаковываем в любое удобное для нас место);
- далее запускаем Word и нажимаем на кнопке «Сервис» (верхняя часть окна редактора), в выпавшем списке функций выбираем «Шаблоны и надстройки»;
- после нажатия появится окошко, в котором выбираем «Присоединить»;
- далее в проводнике выбираем необходимую программу – надстройку (она расположена в месте, куда мы ее скачали или разархивировали);
- нажимаем «Открыть» и все, необходимая надстройка добавлена в функционал редактора.
Мы рассмотрели добавление надстроек в редакторе Word 2007. В более новых версиях редактора, например за 2010 год последовательность действий несколько иная. Если вы поняли суть предыдущих действий, то и в обновленном редакторе разберетесь. Но расширения файлов будут.exe и.dll. Последовательность следующая:
- нажимаем вкладку «Файл» и выбираем функцию «Справка»;
- далее «Параметры» и в появившемся окошке выбираем «Надстройки»;
- в нижней части окна есть кнопочка «Перейти» - нажимаем;
- далее выбираем «Добавить» и в проводнике выбираем нужный файл надстройки.
Надстройка - такой же файл Word. В отличие от обычного документа этот файл содержит программы - макросы. Запуск этих программ производится непосредственно с вкладки на ленте. Как она выглядит Вы можете увидеть на картинке. Надстройка будет автоматически загружаться при запуске документа Word.
Состав надстройки VBA-Word
Запишет любое указанное число прописью. Может просклонять его в любом падеже, добавить рубли, копейки, доллары, евро, штуки и многое другое. Имеются различные форматы вывода, как со скобками так и без.
Большой набор алгоритмов для редактирования текста. В него входит удаление двойных пробелов, пробелов перед знаками пунктуации, удаление переноса текста на другую строку (например между значением и единицей измерения). Вы можете контролировать производимые изменения, а можете доверить все исправление программе.
На ленте также расположено несколько команд для связи с разработчиком. Вы в любой момент можете оставить замечание по работе программы, сделать предложение по улучшению работы той или иной функции, оставить заказ на разработку макроса.
Приобретение
Все функции надстройки можно бесплатно протестировать несколько раз (10-20 раз). Как правило этого ограничения достаточно, чтобы разово решить сложную задачу, а также понять, что программа экономит Ваше время, деньги и нервы. Стоимость надстройки VBA-Word составляет всего 1000 рублей . В стоимость входит установка на 2 компьютера. Все последующие обновления программы будут бесплатны.
Установка
Надстройка устанавливается для MS Word версии 2007 и выше. Требование к операционной системе - Windows.
- Жмите кнопку "Скачать" сверху.
- Откройте скачанный файл Word и нажмите на кнопку "Установить".
Если программа не устанавливается
- Часто по причине того, что файл скачан из интернета, Word открывает файл в режиме защищенного просмотра. Чтобы его отключить необходимо нажать кнопку "Разрешить редактирование" под лентой. После этого следует открыть скачанный файл заново.
- Возможно выполнение макросов запрещено. Как их включить написано в статье