Приветствую на Fast-Wolker.ru!! В сегодняшнем выпуске продолжим знакомство с созданием макросов уже в приложении Microsoft Office Word. Все знакомы с ним; многим приходится набирать документы в этой программе. Документы чаще всего имеют одну и ту же структуру — мы берем шаблон правим его так как нам надо в одних и тех же местах — меняем даты, имена, форматируем текст.
То есть мы каждый раз делаем одни и те же операции с текстом, и чтобы их не делать каждый раз — можно заставить компьютер совершать их автоматически. Для этого в МS Word можно применять макрокоманды (или макросы) которые вы самостоятельно записываете в виде программы на языке VBA, который встроен в Word.
Что такое включенные макросы в Ворд?
А сейчас разберемся подробно, что за «макросы», как их включать. Начнем изучение на примере Office Word 2007, так как для многих он по прежнему остается самым привычным пакетом. Включать макросы нужно через меню «Файл» -«Параметры Word».
Дело в том, что настройки макросов в программе по умолчанию выключены, либо заданы такие настройки безопасности, что работать с полноценно с макрокомандами Вы не сможете. Когда Вы создаете макросы, Вы по сути становитесь программистом.
Можно не только самому их писать, но и находить уже готовые. Среда VBA позволяет работать не только в пределах MS OFFICE. Можно создавать полноценные программы, которые получают доступ системным файлам на компьютере, можно нанести вред.
Этим пользуются злоумышленники.
Включаем первую настройку на ленте. Она сделает видимой вкладку «Разработчик» и позволит работать с макрокомандами и запускать редактор VBA:
Следующая настройка отвечает за безопасность. Здесь же, переходим в «Центр управления безопасностью»..
…»Парамеры центра» отвечает за запуск наших будущих программ. Вы можете настроить так как нужно вам. Настройка «Доверять доступ к объектной модели VBA» позволит пользоваться уже готовыми проектами VBA, например скачанными из Интернет.
Сторонние макрокоманды и проекты VBA перед запуском всегда проверяйте на вирусы!
Стабильный MS Office 2007 морально устарел и поддержка его прекращена. Нужно уметь включать режим разработчика и в поздних версиях. Они более функциональны и для серьезной работы лучше использовать их. В Word 2016 включаем вкладку «Разработчик». Для этого так же в меню «Файл» переходим в «Параметры» и затем «Настройки Ленты»:
Не забываем сделать настройки безопасности так как делали до этого. Теперь, когда все настройки сделаны можно работать далее.
Что такое макросы в Ворде и как с ними работать?
По факту вы просто включаете запись ваших действий с текстом. Все выполняемые Вами действия записываются. В нужный момент вы останавливаете запись и сохраняете макрос, а когда это необходимо — снова запускаете. Таким образом, вам на первых этапах не нужно знать язык программирования, чтобы справится с простой задачей.
Но Вы получаете возможность изучать язык, если вас это дело увлечет. Создание макросов — это введение в программирование.
VBA позволяет создавать для себя мощные инструменты при работе с текстовыми и табличными документами для решения многих задач в привычном виде .
Тем, кто после прочтения статьи заинтересуется и захочет начать изучать язык VBA самостоятельно в помощь книга.
В качестве примера расскажу об одной такой полезной программе для Word. Иногда появляется желание распечатать полезную книгу на принтере, потому что не все любят читать с экрана. Это может быть большая инструкция, или же полноценное художественное произведение в виде документа Ворд.
Чтобы понравившийся документ после распечатывания стал полноценной привычной брошюрой — нужен макрос. А точнее написанный в VBA программный код, он вам и позволит распечатать ваш документ в виде брошюры, в которой будет правильное расположение текста и нумерация страниц. Эту программу для ознакомления качаем тут. Вам останется распечатать и сшить брошюру и вот у вас книга готова ????
Но чаще всего мы используем макросы на работе при составлении документов. Нужно форматировать текст, менять его размер, менять даты, имена на другие. Это ответственно и занимает время.
И здесь наши знания могут очень пригодится. Для начала покажу демонстрационный пример — как работает макрос. У нас есть шаблон договора, который нужно подготовить для заполнения.
Задача: открыть документ, убрать ненужные нам элементы из текста автоматически:
Согласитесь, убирать вручную каждый раз пустые поля (выделено желтым) на нескольких страницах утомительно, поэтому мы для примера прибегнем к помощи макроса. Итак, запускаю Ворд 2016, начинаю записывать макрос:
Указываем имя нашего макроса (без пробелов), доступ делаю из шаблона Normal.doth. Такой выбор позволит запускать выполнение нашей макрокоманды из любого документа Word.
Назначать макрос можно кнопке на панели инструментов или вызвать нажатием сочетания определенный клавиш, но мы этого делать пока не будем. Просто нажмем на «OK» и начнется запись наших действий.
Предлагаю посмотреть на видео, что получилось, это будет нагляднее.
Мы сделали самую простую операцию — замену текста во всем документе.
Но, поизучав язык можно пойти и далее — отформатировать текст, сделать форму, в которой указываются все необходимые данные договора (даты, номер, ФИО директора, должности, наименование организации, реквизиты и т .д.).
При выполнении макроса все эти данные заполнялись бы автоматически после указания в форме в нужных местах. По опыту знаю ошибок будет меньше при таком заполнении и времени уходит меньше.
Что такое макрос в ворде 2007? Формула из Excel таблицы
Многие интересуются — как вставить формулы Excel в таблицу Word? Excel хорош при вычислениях но не удобен для работы с текстом, а таблицы Word не так привычны после работы с Excel. Туда нельзя вставить формулы как в Excel, но можно вставлять таблицу Excel путем копирования или создания таблицы прямо в документе Word. Для этого переходим в меню «Вставка»:
- Далее, «рисуем» таблицу так, как мы делаем это в Excel:
Создавать Excel таблицу в Word с помощью макроса вышеописанным способом не получится — нужны дополнительные усилия. А что касается обычной Word таблицы — можно записывать макросы в случае создания сложных макетов таблиц.
Можно попробовать записать создание таблицы в макрос любым из этих способов и посмотреть что получится. Лично я таблицы копирую прямо из Excel, а макросы записываю в Office 2016 — там мне удобнее работать со стилями и оформлением. Удачи в освоении программы!
Источник: https://fast-wolker.ru/chto-takoe-makros-v-vorde-i-kak-im-polzovatsya.html
Как создать и запустить макросы в MS Word простым способом
Одна очень удобная функция, которой обладают все последние версии MS Word, — это возможность записывать и воспроизводить макросы (записанные нажатия клавиш или команды), так что все, что вы делаете снова и снова, может выполняться автоматически.
Чтобы создать макрос в Word, сначала нужно выполнить повторяющееся задание, которое вы хотите записать. В этом примере мы создадим макрос, который изменит шрифт выделенного текста на Arial, размер — до 16, а затем сделает текст жирным и курсивом, и все автоматически одним щелчком мыши.
Прежде чем вы сможете записать макрос, чтобы сделать то, что вы хотите, вы должны сначала знать, как это сделать, чтобы вы могли записать эти шаги.
В этом случае способ сделать это — сначала выделить текст, а затем выполнить следующие действия: щелкните поле « Текущий шрифт» и выберите « Arial», затем щелкните поле «Размер текущего шрифта» и выберите 16, а затем нажмите кнопку «Готово». Жирный и курсив иконки .
Запись макроса в Word
Чтобы создать макрос для выполнения этих шагов, сначала выделите некоторый текст в документе, затем щелкните вкладку « Вид » на главной ленте, а затем нажмите крошечную стрелку вниз под значком « Макросы», чтобы открыть следующее раскрывающееся меню.
- Нажмите там, где написано Record Macro, и вы должны получить экран, подобный этому:
Введите имя для вашего макроса, затем нажмите на значок кнопки .
Примечание. Если в названии макроса используется более одного слова, оно должно иметь подчеркивание между двумя словами, иначе Word его отклонит.
Вы должны получить экран, который выглядит так:
Нажмите на новое имя макроса, указанное в левой части экрана (там, где оно написано), чтобы выделить его, затем нажмите кнопку « Добавить», чтобы добавить макрос на панель быстрого доступа, затем нажмите кнопку « ОК» .
Окно настройки макроса исчезнет, и вы вернетесь к своему документу, и ваш курсор превратится в крошечную картинку старого магнитофона. Это означает, что ваш макрос записывает, так что теперь пришло время делать то, что вы хотите записать.
- Нажмите на поле « Текущий шрифт» и выберите « Ариэль» .
- Нажмите на поле Размер шрифта и выберите 16.
- Нажмите на значки Bold и Italics .
- Это все, что вы хотите, чтобы ваш макрос записывал, поэтому, чтобы он прекратил запись, снова нажмите вкладку « Вид » на главной ленте, затем нажмите « Макросы» и затем « Остановить запись».
- Ваш макрос должен быть готов к использованию. Чтобы проверить это, выделите текст, а затем посмотрите на панель быстрого доступа ; на нем должен быть новый значок M acro :
Чтобы проверить макрос, выделите текст, а затем нажмите новый значок M acro на панели быстрого доступа. Ваш макрос должен запускаться и выполнять все задачи форматирования, которые вы ему назначили.
Есть, конечно, больше вариантов и способов записи макросов в Word, но это, безусловно, самый простой и простой. Наслаждайтесь!
Источник: https://ru.gadget-info.com/how-create-run-macros-ms-word-easy-way
Создать макрос в ворд это легко
В этом уроке Вы узнаете:
- Что такое Макросы в ворд
- Как применить макросы в ворд
- Как записать макрос в ворд
Добрый день дорогие друзья. Сегодня Мы разберем инструмент автоматизации, а именно макрос в ворд, который в некоторых случаях поможет сэкономить достаточное количество времени. Достаточно простая и при этом уникальная вещь при форматировании текста.
Что такое макросы в ворд
Макросы в программе Microsoft Office Word — это набор команд/сочетание клавиш на клавиатуре, сообщающее алгоритм выполнения действий в автоматическом режиме, для достижения результата. Другими словами, это записанная последовательность сочетания команд в единую команду.
Могу привести пример макроса из жизни: ещё совсем недавно в выходной день, кто-нибудь из вашей семьи уходил на рынок за покупками. И для выполнения своей задачи необходимо было пройтись по прилавкам с различным наименованием товара для приобретения мяса, зелени, молочной продукции, бакалеи, хоз.
товаров и т.д. Алгоритм был следующий:
- Выйти за покупками
- Пройтись по n-количеству продавцов
- Доставить купленный товар домой
Сейчас же можно взять и заказать весь товар через интернет/по телефону. Это уже будет процесс с минимальным использования Ваших действий, где Вам необходимо сделать заказ, принять доставку, расплатиться:
- Фирма, предоставляющее услуги доставки заказанного Вами товара, наладило взаимодействия между поставщиком товара и услугой транспортировки.
- Вы в свою очередь сделали заказ, кликнув по монитору или в приложении в телефоне.
Итог: кто-то выполняет сочетание различных действий за Вас, по вашему заказу.
Вот и в Microsoft Word похожий процесс.
Вы записываете сочетание различных команд в одну команду (вы выступаете в роли той фирмы, которое наладило взаимоотношение), и выводите кнопку этой команды на панель быстрого доступа (простите за тавтологию, просто так понятнее:)) далее Вы нажимает на кнопку, компьютер выполняет записанную последовательность команд и мигом получаете результат с использованием всего одного действия. Это круто;)
Как применить макрос в ворд
Применяются макросы в самых различных задачах по форматированию и структурированию текста. Поверьте, иногда лучше потратить четыре часа на запись макроса, чем два дня на выполнение задачи без макроса.
Ярким примером такого случая является структурирование текста для создание программного обеспечения. А точнее, Вам дают перечень помещений в каком-то огромном здании, и вам необходимо выстроить их иерархию из предоставленных данных.
Но это примеры от среднего уровня и выше, а пока я Вам расскажу и покажу основы, принцип действия макроса на достаточно легком примере.
Как записать макрос в word
Самым легким макросом, с которым мне приходилось встречаться, это создание какого-нибудь символа с использованием шестнадцатеричного кода, например ударение над буквой в ворде.
В данной статье написано как сделать ударение с использованием кода (для ударения этот код — 0301). Переходите по ссылке Ударение над буквой в ворде.
Но Нам главное понять процедуру создания макроса, так что идеальный пример.
- Устанавливаем курсор мышки за буквой, на которую хотим поставить ударение (в слове «года» нам нужно поставить ударение на букву «о»).
- Переходим в вкладку «Вид» → раздел «Макросы» →нажимаем «Запись Макроса»
- Вводим имя нашему макросу, в поле «Назначить макрос» нажимаем «Кнопке», при желании можно добавить описание (это поле удобно заполнять, когда много макросов, и некоторые из них могут иметь подобные либо редко-встречающиеся названия).
- В появившемся окне выделяем создаваемый макрос нажимаем «Добавить» и нажимаем «Ок»
- После того, как Вы нажали «Ок» пошла запись макроса. Теперь каждое нажатие клавиши записывается ровно в той же последовательности. Вводим 0301 и нажимаем сочетание клавиш ALT+X
- Теперь во вкладке «Вид», в разделе «Макросы» нажимаем на «Макросы» → «Остановить запись»
На этом этапе макрос записался и вынесен на панель быстрого доступа. Теперь, когда Вы в следующий раз захотите поставить ударение, Вам просто потребуется нажать на значок на панели быстрого доступа (это значок стоит по умолчанию, но его можно поменять).
Ворд файл макрос
Вот я и показал, как использовать в ворде файл макроса. Повторю, это самый простой пример, но в следующих уроках я обязательно уделю время какой-нибудь более сложной записи макроса, чтобы расширить понимание этого инструмента в Word.
Все спасибо, если появились вопросы, обязательно задавайте, будем решать его.
Источник: http://www.gidprog.ru/sozdat-makros-v-vord-eto-legko/
Как создать макросы в Ворде — пошаговое описание и рекомендации
А вы знали, что часто повторяемые действия в текстовом редакторе Word последних версий (2007, 2010, 2013, 2016) можно автоматизировать? Достигается это путем создания макросов в «Ворде». Что это, как их сделать, включить/отключить, как открыть файл с такими элементами, мы обязательно разберем далее.
Что это — макросы в «Ворде»?
Макрос — это комплекс инструкций, группируемых в единую команду для автоматического выполнения того или иного задания. Пишутся они на языке Visual Basic в редакторе с одноименным названием.
Чаще всего макросы применяются пользователем для:
- Ускорения наиболее востребованных действий форматирования, редактирования.
- Объединения нескольких команд в одну. Как пример — создание таблицы с определенным числом столбцов, строк, стилем границ.
- Облегчения доступа к параметрам, находящимся в диалоговых окнах.
- Автоматизации процесса обработки последовательных сложных операций.
Таким образом, макросы в «Ворде» превращают несколько задач в одно действие. Чтобы его осуществить, необходимо набрать комбинацию клавиш или нажать на кнопку панели быстрого доступа.
Word 2010-2016: запись макроса, запускающегося кнопкой
Разберем, как создать макрос в «Ворде» этого типа:
- Зайдите в «Вид», выберите «Макрос» — «Создать…».
- Придумайте имя для этого комплекса команд.
- Если вы хотите использовать его для всех файлов, то обязательно выберите доступность «Для всех документов».
- Кликните на назначение «По кнопке».
- В следующем окне кликните на новый макрос. Его наименование будет начинаться с Normal — NewMacros, после чего будет следовать имя, которым вы его обозначили.
- Далее — щелчок на «Добавить», а затем на «Изменить».
- Из предложенной палитры выберите значок для своего макроса в «Ворде».
- Теперь самая важная часть: запись шагов. Для каждого нужно выбрать команду или нажать определенную клавишу. Текст необходимо выделять с помощью клавиатуры. Система будет записывать все шаги, что вы сделаете, — нажатия клавиш, действия мышью.
- Когда вы завершите задуманное, закончите запись: зайдя в раздел «Макросы», выберите «Остановить…»
Вы увидите, что на панели быстрого доступа появилась кнопка созданной вами команды. Нажав на нее, вы автоматически выполните записанную последовательность действий.
Word 2010-2016: запись макроса, запускающегося комбинацией клавиш
Теперь разберем, как создать макрос в «Ворде», который активируется нажатием сочетания кнопок:
- Зайдите в «Вид», найдите «Макросы». Далее — «Записать…»
- Введите его имя. Не забудьте указать, если это нужно, что макрос доступен для всех документов.
- Выберете значок доступности по клавиатуре.
- В поле «Новое сочетание…» введите определенную комбинацию клавиш, которая будет запускать в действие макрос. Если она будет совпадать с другой стандартной командой, то нужно придумать иное сочетание.
- Кликните на «Назначить».
- Теперь запись шагов для макроса: для каждого из них выставляйте определенную команду, щелчок мышкой. Все действия будут сохраняться системой.
- Когда все будет готово, зайдите в «Макросы» (меню «Вид») и остановите запись.
Теперь установленным сочетанием клавиш вы можете активировать созданный комплекс команд.
Word 2007: начало создания макроса
Теперь расскажем, как сделать макрос в «Ворде 2007». Процесс немного отличается от того, что представлен для поздних версий этого текстового редактора.
Первым делом вам нужно активировать вкладку разработчика:
- Кликните на кнопку Microsoft Office (круглую, с логотипом компании).
- Выберите «Параметры «Ворда»».
- В «Основных параметрах…» сделайте активным пункт «Показывать «Разработчик» на ленте».
Теперь переходим непосредственно к созданию комплекса команд:
- Зайдите на появившуюся вкладку «Разработчик». В «Коде» выберите «Запись макроса».
- В «Имя…» введите название. Будьте внимательны: если оно будет совпадать с наименованием стандартного макроса, то новая запись заменит его. Поэтому для проверки в «Макросах» группы «Код» найдите «Команды Word» и убедитесь, что придуманное имя не совпадает с там присутствующими.
- В «Макрос доступен…» выберите, где его можно применять. Если для всех файлов, то остановитесь на Normal.dotm.
- Введите описание.
Word 2007: три варианта записи макроса
Далее вы можете пойти тремя путями.
Запись без привязки. Вы пишете макрос, не связывая его ни с кнопкой, ни с сочетанием клавиш. Для этого достаточно нажать на ОК.
Привязка макроса к кнопке. Тут следует пойти таким путем:
- Щелкните на «По кнопке».
- В «Настройки панели быстрого доступа» выберите все документы или отдельный файл, где можно применять этот макрос.
- В окне «Выбрать команды» нажмите на нужный макрос. Затем — щелчок на «Добавить».
- Для настройки кликните на «Изменить».
- В «Символе» выберите значок для кнопки.
- «Отображаемое имя» — наименование макроса.
- Два раза кликните на ОК, чтобы начать запись.
Привязка макроса к сочетанию клавиш. Здесь следующий путь:
- Остановитесь на «Клавиатуре».
- В «Командах» найдите макрос, который вы собрались записать.
- В «Новом сочетании клавиш» введите придуманную комбинацию. Клик на «Назначить».
- Щелкните на «Закрыть», чтобы начать запись.
Далее путь становится единым для всех вариантов:
- Выполните последовательность действий, которую нужно включить в макрос.
- Завершить процесс можно выбором «Остановить запись» во вкладке «Код».
Открытие файлов с макросами
Документы, поддерживающие макросы, имеют расширение .docm. Трудности с ними иногда возникают на моменте запуска — текстовой редактор выдает ошибку. Разберем, как открыть «Ворд» с макросами:
- Два раза щелкните на данный документ. Система сама выберет программу на вашем ПК, способную его открыть.
- При неудаче измените расширение на .doc, .docx.
- В случае неудовлетворительного результата воспользуйтесь программами:
- Word 2007, распознающий Open XML.
- «Ворд» 2010.
- Приложение FileViewPro.
Включение макросов
Как включить макросы в «Ворде»? Есть три варианта.
При появлении панели сообщений. Как только вы открываете файл с макросами, перед вами на экране выходит желтое окошко с щитом и просьбой включить данный комплекс команд. Только если вы уверены в надежности источника документа, нажмите на панели «Включить содержимое».
С помощью представления Backstage. При открытии файла с макросами сделайте следующее:
- Кликните на «Файл».
- В «Предупреждении системы безопасности» нажмите на пункт «Включить содержимое».
- В данном разделе сделайте активным «Всегда включать…» Это превратит документ в надежный.
Включение на время открытия документа. Можно сделать макросы активными только на период работы с определенным файлом. Когда вы его уже закроете и запустите заново, их снова придется включать. Для такого варианта следующий алгоритм:
- Откройте вкладку с названием «Файл».
- В «Предупреждении системы безопасности» нажмите на «Включить содержимое».
- Перейдете в «Доп. параметры».
- В «Параметрах безопасности…» выберите «Включить лишь для этого сеанса» в отношении каждого из имеющихся в документе макросов.
- Подтвердите нажатием ОК.
Отключение макросов
Напоследок разберем, как убрать макросы в «Ворде»:
- Во вкладке «Файл» перейдите на «Параметры».
- В «Центре управления…» выберите «Параметры центра…»
- Щелкните на «Параметры макросов».
- Выберите, что вам нужно:
- Отключить все без уведомления (как макросы, так и предупреждения об опасности/безопасности).
- Отключить все с уведомлением (убираются только макросы, уведомления о безопасности остаются).
- Отключить все, кроме макросов с цифровой подписью (отображаются только макросы издателя, которому выражено доверие, — на их включение нужно согласиться в уведомлении при открытии файла).
- Подтвердите выбор нажатием на ОК.
Создание макросов имеет свои особенности в различных версиях текстового редактора «Ворд». А при открытии файла с данной группой команд в данной программе вы можете выбрать, включать или не активировать их.
Источник: https://autogear.ru/article/358/125/kak-sozdat-makrosyi-v-vorde—poshagovoe-opisanie-i-rekomendatsii/
Создание макроса и работа с ним
Для обеспечения корректного построения отчетов, содержащих макросы, требуется установить доверие на доступ к объектной модели VBA.
В Microsoft Word 2007 это осуществляется следующей последовательностью действий:
- нажать кнопку Office в верхнем левом углу, нажать кнопку «Параметры Word»;
- выбрать закладку «Центр управления безопасностью», нажать кнопку «Параметры центра управления безопасностью»;
- выбрать закладку «Параметры макросов», в разделе «Параметры макросов для разработчика» установить опцию «Доверять доступ к объектной модели проектов VBA».
В Microsoft Word 2010/2013/2016:
- выбрать пункт меню «Файл → Параметры…»;
- в окне «Параметры Word» выбрать закладку «Центр управления безопасностью», нажать кнопку «Параметры центра управления безопасностью»;
- выбрать закладку «Параметры макросов», в разделе «Параметры макросов для разработчика» установить опцию «Доверять доступ к объектной модели проектов VBA».
VBA — Visual Basic for Applications (Visual Basic для приложений) — упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office.
Для того, чтобы создать или просмотреть макрос для отчета формата Word необходимо:
- открыть отчет в Мастере отчетов;
- на ленте «Разработчик» в группе «Код» нажать кнопку «Visual Basic» (или сразу нажать Alt+F11). Откроется окно приложения «Microsoft Visual Basic for Application»;
- В окне «Project – TemplateProject» в дереве открыть узел «TemplateProject — Microsoft Word Objects – ThisDocument»;
- В правой части окна приложения, где приведен код, будет макрос «ПослеВыполненияОтчета».
Рисунок 1. Вид окна среды VBA при работе с макросом для отчетов формата Word
- Если макроса там не будет, его можно создать самостоятельно, введя в данном окне строки начала и конца макроса, а между ними — сам текст макроса:
- Sub ПослеВыполненияОтчета(ob As Variant, app As Variant)
- End Sub
В Word 2007 закладка «Разработчик» по умолчанию скрыта. Чтобы вывести ее на показ необходимо:
- нажать кнопку Office в верхнем левом углу, нажать кнопку «Параметры Word»;
- на закладке «Основные» в разделе «Основные параметры работы с Word» установить опцию «Показывать вкладку «Разработчик» на ленте»
Для того, чтобы создать или просмотреть макрос для отчета формата Excel, необходимо:
- открыть отчет в Мастере отчетов;
- нажать кнопку «2. Редактировать шаблон»;
- в MS Excel на ленте «Разработчик» в группе «Код» нажать кнопку «Visual Basic» (или сразу нажать Alt+F11). Откроется окно приложения «Microsoft Visual Basic for Application»;
- В окне «Project – VBAProject» в дереве открыть узел «VBAProject — Modules – Module1»;
- В правой части окна приложения, где приведен код, необходимо перейти к макросу «ПослеВыполненияОтчета».
Рисунок 2. Вид окна среды VBA при работе с макросом для отчетов формата Excel
В Excel 2007 закладка «Разработчик» по умолчанию скрыта. Чтобы вывести ее на показ необходимо:
- нажать кнопку Office в верхнем левом углу, нажать кнопку «Параметры Excel»;
- на закладке «Основные» в разделе «Основные параметры работы с Excel» установить опцию «Показывать вкладку «Разработчик» на ленте»
Любой отчет изначально содержит следующий макрос:
Sub ПослеВыполненияОтчета(ob As Variant, app As Variant)
' MsgBox «MACRO ПослеВыполненияОтчета» + CStr(ob.Название)
End Sub
Этот макрос будет запускаться после вставки данных в отчет. Он используется в отчетах баз данных, поставляемых с программой. Код по обработке отчета следует вставлять в этот макрос.
Переменные, которые передаются в макрос:
- «ob» − объект, от которого был вызван отчет;
- «app» − приложение, от которого был вызван отчет, то есть Business Studio.
Просмотреть объектную модель Word для разработки макросов в редакторе Visual Basic можно по клавише F2.
При решении ряда задач средствами программирования бывает удобно оперировать данными привязок отчета. Для этого необходимо:
-
Знать название привязки.
-
Связать переменные в коде VBA с этим названием.
- Ниже описано, как это это делается для привязок разных типов.
- Тип привязки: Объект
- В отчете такие привязки представлены полями.
Узнать название в шаблоне отчета: см. статью Руководство пользователя → Пример определения названия привязки типа «Объект».
Использование названия привязки в коде:
ПеременнаяВКоде = Application.ActiveDocument.Variables.Item(«НазваниеПривязки»).Value
Тип привязки: Список и Фильтр
В отчете такие привязки представлены таблицей.
Узнать название в шаблоне отчета: см. статью Руководство пользователя → Пример определения названия привязки типа «Список».
Использование названия привязки в коде:
Set ТаблицДляОбработки = Application.ActiveDocument.Bookmarks(«НазваниеПривязки»).Range.Tables(1)
В отчетах Business Studio присутствует большое количество таблиц. Поэтому высока вероятность того, что основные задачи будут связаны с их обработкой.
Примеры ключевых функций, которые будут полезны при работы с таблицами, приведены ниже.
Работа с таблицей через название привязки
'переменная для работы с конкретной таблицей
Set Table = Application.ActiveDocument.Bookmarks(«НазваниеПривязки»).Range.Tables(1)
countColumn = Table.Columns.Count 'количество столбцов таблицы
countRow = Table.Rows.Count 'количество строк таблицы
СellText = Table.Cell(2,1).Range.Text 'значение ячейки во 2й строке 1го столбца
Работа с таблицей через её номер в документе
сountTables = ActiveDocument.Tables.Count 'количество таблиц в документе
Selection.GoTo What:=wdGoToTable, Which:=wdGoToFirst, Count:=5, Name:=»» 'перейти к таблице номер 5
countColumn = Selection.Tables(1).Columns.Count 'количество столбцов таблицы
countRow = Selection.Tables(1).Rows.Count 'количество строк таблицы
СellText = Selection.Tables(1).Cell(2,1).Range.Text 'значение ячейки во 2й строке 1го столбца
При работе с таблицами следует помнить ряд моментов:
- Таблицы могут содержать объединенные ячейки. В случае перебора всех строк таблицы может возникнуть ошибка. Чтобы этого не было, необходимо использовать команду игнорирования ошибки:
On Error Resume Next ' игнорирование — ячейки таблицы имеют вертикальное объединение
- При получении текста таблицы следует помнить, что полученное значение ячейки так же содержит в себе 2 служебных символа. Для обработки данных ячейки без этих служебных символов следует произвести «очистку» значения. Например:
СellText = Selection.Tables(1).Cell(3,2).Range.Text 'текст ячейки со служебными символами
СellText = Left$(СellText, (Len(CellText) — 2)) 'убираем 2 последних символа ячейки — чистый текст
Приведенная выше информация не является полной для работы с таблицами, а лишь обращает внимание на наиболее возможные ситуации.
Один и тот же отчет Business Studio может рассматриваться из разных мест:
- одиночный документ Word или Excel или несколько документов,
- HTML-публикация,
- Business Studio Portal.
При рассмотрение такого отчета в разных местах есть свои нюансы. Например, отчеты в HTML-публикации и Business Studio Portal не содержат колонтитулов, которые есть в отчете, сделанным отдельным документом Word.
Также могут быть и разные задачи по обработке отчета кодом в зависимости от направления формирования отчета. Для определения направления формирования отчета используются параметры: BSInThread, BSHtml и BSPortal.
Одиночный файл (Word, Excel) | False | False | False |
Пакетное формирование (Word, Excel) | True | False | False |
HTML-публикация | True | True | False |
Business Studio Portal | True | True | True |
Таблица 1. Значения специальных переменных в зависимости от направления формирования отчета
Пример использования в коде:
Dim HTMLCreate As Boolean
HTMLCreate = Application.ActiveDocument.Variables(«BSHtml»).Value 'True или False
If HTMLCreate Then
MsgBox «Выводим для HTML: HTML-публикация или Business Studio Portal»
Else
MsgBox «Выводим в одиночный файл или потоком файлов»
End If
При формировании отчета типа HTML (HTML-публикация, Business Studio Portal) так же происходит формирование и отдельного файла типа Word.
При обработке кодом VBA отчета, сформированного для HTML-публикации или Business Studio Portal, следует помнить, что после формирования отчет представляет собой отображение не тех данных, что видны в браузере, а документ с показом кодов полей. Это не позволяет вести обработку гиперссылок.
Для «нормализации» отображения данных следует сначала использовать следующий код:
ActiveWindow.View.ShowFieldCodes = Not ActiveWindow.View.ShowFieldCodes 'Alt+F9 — видим не коды пол
При копировании отчета названия всех привязок изменяются.
Рисунок 3. Названия привязок в исходном отчете
Рисунок 4. Названия привязок в копии отчета
В случае, если в отчете используется макрос, который «опирается» на названия привязок, то следует помнить, что после копирования такой отчет не сможет формироваться таким же образом как оригинал без дополнительной обработки.
Для корректной работы макроса рекомендуется использование проверки на предмет наличия привязки в отчете.
Пример проверки наличия привязки типа «Список». В документе это закладки.
Определяем название привязки типа «Список», которая представляет нужную таблицу (см. Руководство пользователя → Пример определения названия привязки типа «Список»).
BookmarkName = «Изменения_процесса_e1ded8b0» 'название привязки
'Проверка на корректность названия привязки
Dim BookmarkIs As Boolean 'сначала считаем, что нужной закладки нет
Dim Bkm As Bookmark 'переменная типа Закладка
For Each Bkm InActiveDocument.Bookmarks 'перебираем все закладки в документе
IfBkm.Name = BookmarkName Then 'если нашли закладку с нашим именем
BookmarkIs = True 'отмечаем, что закладка есть
'получаем таблицу по названию привязки
Set SettableStatus = Application.ActiveDocument.Bookmarks(BookmarkName).Range.Tables(1)
End If
Next
If BookmarkIs Then 'если в документе закладка есть
'производим необходимые действия c таблицей
End If
Выводить какое-либо сообщение в случае отсутствия привязки не рекомендуется по причине того, что если не будет данных для формирования привязки, то и соответствующей привязки не будет.
Пример проверки наличия привязки типа Объект
Определяем название привязки типа «Объект», которая представляет нужное поле в отчёте (см. статью Руководство пользователя → Пример определения названия привязки типа «Объект»).
VarName = «Статус_процесса_c9a10e8d» 'название привязки
'Проверка наличия указанной привязки в документе
Dim VarIs As Boolean 'сначала считаем что привязки нет
'перебираем все переменные документа
For Each aVar In ActiveDocument.Variables
If aVar.Name = VarName Then 'если среди них есть с нашим именем
VarIs = True 'отмечаем это
'получаем значение переменной по названию привязки
MyVar = Application.ActiveDocument.Variables.Item(VarName).Value
End If
Next aVar
If VarIs Then 'если в документе привязка есть
'производим необходимые действия с переменной
End If
Закладки, не относящиеся к привязкам, например, созданные пользователем самостоятельно, при копировании отчетов не изменяются.
Из отчета можно напрямую обращаться к данным из базы бизнес-модели. Это делается двумя способами:
-
Через обращение к параметрам объекта, от которого был вызван отчет.
-
Через использование механизма OLE.
- Обращение к параметрам объекта, от которого был вызван отчет, происходит таким образом:
- ob.,
- где
- «ob» — объект, от которого был вызван отчет;
Например, при выводе отчета от процесса получить данные названия процесса можно таким образом:
Name = ob.Название 'получаем Название объекта, от которого вызвали отчет
Механизм OLE предоставляет более широкие возможности по обращению к данным бизнес-модели и выводу этих данных в отчетах по сравнению с обращением просто как данным объекта, от которого был вызван отчет.
Описание механизма OLE подробно описано в главе Руководство технического специалиста → Работа с Business Studio через OLE. Для задействования OLE в отчетах конкретной базы нет необходимости во включении опции «Разрешено использование OLE».
В отчетах при работе с OLE недоступны все методы класса «Система.OleApplication», поскольку в макросе «ПослеВыполненияОтчета» есть аргумент «app», который является приложением Business Studio, а не «Система.OleApplication».
Бывают ситуации, когда:
-
В рамках одного отчета необходимо решить более чем одну задачу. Например, форматирование полей типа RTF и вставка столбца в таблицу.
-
Одну и ту же задачу необходимо применять к разным отчетам. Для этого необходимо скопировать код VBA, который решает поставленную задачу. И будет удобней, если этот код не пересекается с кодами других задач.
-
Отладку кода удобно вести по одной из задач, на время отключив выполнение других задач.
В таких случаях каждую решаемую задачу удобно оформлять отдельным макросом. А в ключевом макросе «ПослеВыполненияОтчета» лишь вызывать по очереди нужные макросы. Все эти макросы оформляются в том же окне, где и ключевой макрос и делается так:
Sub ПослеВыполненияОтчета(ob As Variant, app As Variant)
Call Macros1
Call Macros2
'любые другие макросы
End Sub
Sub Macros1 ()
'В рамках этого макроса решается одна задача
End Sub
Sub Macros2 ()
'В рамках этого макроса решается другая задача
End Sub
Если такие макросы имеют одинаковые части кода, то их тоже можно (и рекомендуется) выносить в отдельные макросы или функции в том же окне с ключевым макросом. Например, функция для определения присутствия в отчете необходимой привязки типа «Список» (см. Работа с копией отчета, содержащим макрос) может быть следующей:
Function BookmarkIs(BookmarkName As String) As Boolean
'Проверка на корректность названия привязки
Dim Bkm As Bookmark 'переменная типа Закладка
BookmarkIs = False 'сначала считаем, что нужной закладки нет
For Each Bkm In ActiveDocument.Bookmarks 'перебираем все закладки в документе
If Bkm.Name = BookmarkName Then 'если нашли закладку с нашим именем
BookmarkIs = True 'отмечаем, что закладка есть
End If
Next
End Function
Использование этой функции из макроса может быть таким:
Sub MacrosN ()
BookmarkName = «НазваниеЗакладкиТипаСписок»
If BookmarkIs(BookmarkName) Then 'если в документе закладка есть
'Выполняются необходимые действия
End If
End Sub
Разработка макроса, как и любая другая работа, это определенный путь, в котором будут допущены ошибки и будет их исправление. Ошибки могут быть обнаружены сразу или не видны при первом взгляде. Более детально об этом описано в главе Подходы к отладке кода.
Источник: https://www.businessstudio.ru/wiki/docs/v4/doku.php/ru/creating_user_reports/use_macros_in_reports/work_in_macros
Как создать макросы в Word?
Большинство начинающих пользователей, которые только приступили к изучению компьютера в целом и освоению программы Word в частности, не знают, что такое макрос. Причем полагают, что макрос представляет собой довольно сложную и невыполнимую задачу. Но на самом деле макрос — это очень простая и удобная вещь, пользоваться которой должен уметь любой юзер.
Что такое макрос и для чего он используется?
Макрос представляет собой инструмент в программе Ворд, который позволяет запоминать какие-либо определенные задачи и действия, а потом в дальнейшем автоматически их выполнять. Он является набором команд, при помощи которых можно автоматизировать выполнение повторяющихся действий. Такой элемент является очень важным и нужным, особенно для тех, кто привык экономить свое время.
Макрос в программе Ворд может использоваться для следующих целей:
- Для ускорения процесса обработки текста. В частности, с помощью этого элемента можно быстро заполнить требуемую область либо отформатировать содержимое документа.
- Для того чтобы объединить несколько команд. Согласитесь, создавать табличную форму в Ворд и потом еще наполнять ее содержимым довольно проблематично. Такого рода инструмент позволит быстро создать нужный параметр и в дальнейшем просто вставить его в требуемое место.
- Для того чтобы максимально упростить доступ к всевозможным параметрам, которые разбросаны в разных диалоговых окнах. Пользователи инструмента Ворд наверняка знают, как сложно порой отыскать требуемый элемент из-за обилия различных многоуровневых меню. Подобный компонент поможет заметно упростить эту задачу.
- Для того чтобы автоматизировать обработку тех действий, которые являются весьма сложными и рутинными. Макросы в Ворд умеют доводить до автоматизма те параметры, на которые, казалось бы, уходит очень много драгоценного времени.
Как создать макрос?
Естественно, чтобы воспользоваться этим инструментом в Word, его нужно вначале создать. Этот процесс не несет в себе много сложностей, поэтому справиться с ним сможет абсолютно любой пользователь.
Первый вариант — это создание подобного элемента при помощи специального средства для создания макроса. Оно может быть как встроено в Word, так и взято с каких-либо сторонних источников.
Следует отметить, что этот пункт является довольно небезопасным, ведь в макросах, скачанных с интернета, запросто могут находиться вирусы, уничтожающие и крадущие важную для пользователя информацию.
Поэтому прежде чем выполнять найденный элемент в Word, следует убедиться, что он чист от различного рода недоброжелательных элементов. Для этого просто нужно просканировать его антивирусом.
Второй вариант — это создать элемент такого рода для Word путем использования специального программного кода, пишущегося на языке под названием Visual Basic.
Для этой цели необходимо предварительно обзавестись специальным редактором, который носит точно такое же название, как и сам язык программирования кода. Нужно сказать о том, что этот пункт достаточно сложен и вряд ли подойдет для рядового пользователя.
Есть возможность провести процесс создания макросов в Word путем комбинирования вышеприведенных методик.
В результате получится стандартный элемент, который затем можно будет отредактировать и улучшить при помощи специального кода.
Однако следует знать, что этот пункт, как и предыдущий, подходит лишь для опытных пользователей. Ведь для создания такого инструмента потребуются немалые знания в программировании.
Для создания макросов в редакторе MS Office Word следует выделить фрагмент, для которого будет создаваться макрос.
Потом надо войти в меню «Вид — Макросы — Запись макроса», выполнить необходимые действия, которые надо записать, после чего выполняется остановка записи макроса.
Для того чтобы его использовать, необходимо выделить фрагмент текста, к которому следует его применить, войти в меню «Вид — Макросы — Макросы — Выполнить» и выбрать имя сохраненного макроса.
Как видно, процесс создания подобных элементов не несет в себе каких-либо определенных сложностей. Здесь самое главное — это грамотный и обдуманный подход к делу, который в разы увеличит шансы на успех.
Нужно заметить, что макросами могут пользоваться не только те, кому по роду службы необходимо заполнять объемные документы и бланки.
В частности, прибегать к использованию такого рода инструментов могут и обычные пользователи, которым необходимо что-либо напечатать в Ворде, к примеру, какие-либо официальные документы.
Ведь пользуясь подобным инструментом, можно сэкономить довольно большую часть своего времени и наделать намного меньше ошибок, чем при ручном вводе. Ведь, как показывает практика, использование таких элементов сводит на нет возможность ошибиться при последующем заполнении того же шаблона.
Источник: https://itguides.ru/soft/word/kak-sozdat-makrosy-v-word.html