Как сделать кнопку для макроса в word?

Основы программирования в Microsoft Word. Работа с макросами

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

Основное меню для работы с макросами расположено в «Вид – Макросы».

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

Макросы в MS Word пишутся на упрощенной реализации языка Visual Basic – VBA

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

Для данного урока я написал следующие макросы, помогающие исключить из работы всплывающие окна с последующим выбором из списков (что отнимает уйму времени):

1. Для вставки нумерации рисунков и таблиц (бывает полезно, когда приходится оживлять чужой документ, набранный на печатной машинке производства Microsoft);

2. Для вставки подписей к рисункам и таблицам вида «Рисунок 1 – » и «Таблица 1 – »;

3. Для вставки ссылок на нумерацию рисунков и таблиц вида «°Рисунок, «°Таблица, где перечеркнутый текст имеет тип «hidden», то есть мы автоматизируем то, что делали вручную в статье «Учимся работать в Microsoft Word правильно. Работа с рисунками».

Велик соблазн хранить все макросы в отдельном шаблоне global_macros.dotm, как это описано здесь. Но, как выяснилось, работает это только в MS Office for MAC.

Под Windows, после переноса файла global_macros.dotm в папку STARTUP (C:Documents and Settings<>Application DataMicrosoftWordSTARTUP),

Настроек, подобных «Личные параметры – Расположения файлов» в Microsoft Word 2013 for Windows я не обнаружил (возможно, это уже реализовано в MS Word 2016 или 365). Поэтому, в качестве более универсального решения, я рекомендую добавлять макросы в базовый шаблон Normal.dotm с помощью редактора Microsoft Visual Basic for Applications, который открывается из MS Word с помощью комбинации клавиш «Alt + F11».

Из-за проблем с кодировкой копировать код с русскими буквами нужно только при включенной русской раскладке.

Более хирургические варианты решения этой проблемы описаны тут.

Итак, с помощью контекстного меню «Insert – Module» к шаблону «Normal» добавляем новый модуль, в который мы будем копировать скрипт.

Этот эффект лично у меня проявился не сразу (через несколько дней после начала работы с макросами, изначально все назначенные горячие клавиши работали как надо), но он исчез сразу после того, как я переименовал все процедуры.

Теперь настроим горячие клавиши для запуска макросов.

Для этого переходим в «Файл – Параметры – Настроить ленту – Сочетания клавиш: Настройка. »

В данном примере мы теперь можем добавить подпись к таблице комбинацией клавиш «Ctrl + Shift +ю».

Теперь разберем три из шести написанных макросов для рисунков (макросы для таблиц абсолютно аналогичны).

В принципе, программирование на бейсике особо ничем не отличается от программирования на остальных языках. Современный бейсик похож на Python и Ruby тем, что в нем используются отступы. Комментарии (неисполняемые строки) начинаются с одинарной кавычки.

Как я уже упоминал, процедура в VBA начинается со слова Sub, и заканчивается End Sub.

Переменная объявляется с помощью команды Dim, значение переменной устанавливается с помощью команды Set.

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

Писать скрипты можно непосредственно в редакторе Microsoft Visual Basic for Applications (он «на лету» исполняет скрипт и показывает ошибки), но мне для демонстрации проще делать это в текстовом редакторе Notepad++.

Опишем скрипт InsertImageSequence.bas (вставить номер рисунка).

В целом для написания собственных скриптов вам понадобится научиться работать с полями и текстом.

Логика написания скрипта такая:

1. Нам нужно добавить поле, которое выводит номер последовательности. Посмотреть вид этого поля можно в контекстном меню «Коды / значения полей», кликнув по полю, полученному традиционным способом, правой кнопкой мыши;

2. Далее необходимо указать место, в которое мы хотим вставить текст / поле. В данном случае это текущее местонахождение выделения / курсора. Все основные операции с текстом в VBA замечательно описал Биллиг Владимир Арнольдович, и для понимания работы с объектами Range и Selection, которые мы будем использовать, я рекомендую прочитать его статью;

3. Необходимо в выделение добавить поле с присвоенным ему типом (в данном случае SEQ). Для этого мы будем использовать метод Add, описанный в документации Microsoft. Как обозначаются типы полей в скриптах описано здесь. В данном случае нам необходимо узнать, как обозначается в скрипте тип поля SEQ (wdFieldSequence), чтобы указать его в качестве параметра Type метода Add. Также необходимо указать параметры, которые мы посмотрели в пункте 1.

Читать еще:  Как сделать расстояние между буквами в word?

В итоге у нас получается что-то типа этого

Элементарно. Здесь просто добавились некоторые методы из статьи Биллига для добавления текста до и после поля.

Наконец, рассмотрим скрипт InsertRefToImage.bas (добавить ссылку на изображение).

Что использовалось для написания последнего скрипта:

Все эти замечательные рецепты ищутся в обыкновенном google по запросу, начинающемуся на «word macro» или «word vba».

В следующей статье мы рассмотрим основные правила типографики и работу со списком литературы в MS Word.

давным-давно работал в мособлсуде в гражданской канцелярии. По четным дням слушались наши дела и надо было готовить их к слушанью и в том числе печатать списки для граждан — в каком зале что слушаться будет.
Так вот, было 5 списков, которые печатали я и 4 девчонки, они состояли из 50-90 табличных строк, в которых на 5 составов поделены 53 районных суда, около 300 фамилий судей, ФИО истца и ответчика и краткая суть заявления в одно предложение.
Этих сутей (типа о возмещении ущерба, разделе наследства, восстановлении на работе и т.д) десятка три. И в среднем по 2-15 дел из каждого города в списке.
Так вот, я заебался каждый раз одно и то же печатать и внес все фамилии судей своего состава, все свои города и все типы заявлений в автозамену. Щёл пишешь — превращается в Щёлково, Троф — в судью Трофимову, преп — о нечинении препятствий в пользовании. и так далее. Заодно то же самое я сделал для девок с их городами и судьями. Печатанье списка у меня ускорилось раз в 5, если не больше.
Так что ты думаешь? Не смотря на мои убеждения и личный пример ни одна овца не пользовалась этим, тупо продолжая десятки раз писать одно и тоже полностью.

А ты говоришь — макросы

Так вот откуда берется мат в официальных документах! Автозамена же!

А по поводу овец: ну, пардон муа, на то они и овцы. Не для овец же пишем.

А они не такие глупые как вы думаете. Они не хотят создавать безработицу, потому что если списки печатаются в 5 раз быстрее, то и людей требуется в 5 раз меньше для выполнения того же объёма.

поверь, там помимо списков еще есть чем занять себя

это к чему? Ты накурен?

Им есть крроме списков чем заняться — канцелярские обязанности суде разнообразны и многочисленны

меня это тоже постоянно напрягает, что только перевод без адаптации

кто бы сделал пост про макросы в либре офис? я либо тупой либо нихуя не могу понять их систему. тупизм какой то

И сразу ссылка в догонку для этих умников)

Автор, я прочитал ваши посты и ничего не понял:)) Ну оно и логично — нет постоянной необходимости работы в Word. Но периодически встречаются вроде бы элементарные проблемы, которые не получается решить.

Одна из них — разделение ячейки таблицы по диагонали. Как показала практика — как это сделать, не знают многие #comment_100909899 И в интернете, я решения не нашел О_о

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

делаем 4 ячейки (как табличка 2×2), 2 и 3 (по диагонали) делим косой чертой, во 1 и 4 пишем текст

Для полноценного урока, не хватает примера работы скрипта конечно, фоточку там, или гифку в идеале. А то люди и не поймут, зачем им это нужно)

1. На шарпе не пишут скрипты, только надстройки VSTO.

2. Через SET устанавливаются не значение, а ссылки на обьекты.

Dim Text as String
Text = «Привет»
Dim WS as Worksheet
set WS = Thisworkbook.Worksheets(1)

3. На счет невозможности редактирования кода через подключение надстройки.

А зачем вам этот функционал в работе с готовым скриптом?

п.с. Хотя решение и вправду спорное, тот же эксель позволяет это свободно делать.

4. Зачем вам 5-6 разных процедур, а не одна большая, которая будет делать все за 1 клик?

5. Не думали ввести публичную переменную, которая будет хранить номера рисунков. Дабы не вводить их постоянно при постепенном редактировании файла?

1. Так-то, по вашей ссылке примеры кода на vb.net и с# для написания десктопных приложений и VSTO надстроек. Кусочек кода на vb.net элементарный, поэтому без проблем переносится на vba почти без изменеий, но это не всегда так.

В данном случае нам это по-барабану

Но почему-то ренжи вы устанавливаете через сет, а стринги без него. А попробуйте наоборот, прикола ради)

Читать еще:  Как сделать таблицу в word больше 8?

3. Хз. Безопасности ради может быть. Так то, редактирование кода всё также доступно при открытии файла .docm, в котором он и находится. Вы один фиг не лазиете в него при каждой работе.

4. Ну я фиг знаю, зачем вы у меня это спрашиваете? Если у вас есть ответ на вопрос, нужно его отвечать в утвердительной форме, а не вопросом.

5. Я вообще не редактирую рисунки.

А после этого вашего предложения:

бывает полезно, когда приходится оживлять чужой документ, набранный на печатной машинке производства Microsoft

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

Зачем это нужно, если я сделал универсальный input?

Чтобы не держать в уме, при возникновении ситуации последовательного заполнения, какой же там был рисунок, 33 или 34, или это таблица была 33, а рисунок 32.

Если же вам так нравятся инпуты, никто не мешает при наличии в нем номера, печатать его, а при пустом значении, ставить просто следующее число. И тогда алгоритм из «хоткей-число-интер», превращается в «хоткей-интер».

Мы ж тут топим как я понял за оптимизацию труда.

А вообще интересно вы реагируете на критику и предложения. Мне реально блин было интересно почему вы делаете именно так, а не иначе. А реакцию получаю как у какого-то школьника, которому задают вопрос, а у него желчь начинает из всех щелей выделяться.

LiveInternetLiveInternet

Видео

Цитатник

Шесть лет назад Йохан Хьюберс построил полномасштабную копию Ноева ковчега. Нидерландский плотник.

Сохранение дневника на компьютер с помощью функции экспорта (export) на Liveinternet –.

Как удалить пользователя из Списка друзей Бывает так, что друг оказался не друг. Со.

В Крыму — азартные авиационные игры Военно-космических сил России. Появление в небе над полуостро.

Ссылки

Музыка

Новости

Фотоальбом

Всегда под рукой

Рубрики

  • Кулинарные рецепты (5787)
  • Компьютер,телефон (4878)
  • Разное (901)
  • Стихи (844)
  • Библиотека (698)
  • Интернет (646)
  • ссылка (510)
  • Видео (392)
  • ХУДОЖЕСТВЕННЫЕ фильмы (381)
  • Документальные фильмы (83)
  • 1000 советов автолюбителю (364)
  • Изречения, чувства, мысли (353)
  • Полезное для себя (329)
  • Животные и птицы (287)
  • Кроссворды, загадки (277)
  • Музыка (237)
  • Сделай сам (176)
  • Медицина (162)
  • Игры (158)
  • Фотоальбом (152)
  • Приколы (147)
  • Фотошоп (146)
  • В помощь новичку (134)
  • Фото (131)
  • Кофе,шоколад,чай (126)
  • Природа (113)
  • Поздравитель (111)
  • Юмор (105)
  • Подводный мир (97)
  • Пожелания (94)
  • Флэшки (83)
  • Мультфильм (81)
  • Развивающие мультфильмы (14)
  • Православие (76)
  • Генераторы (71)
  • Диеты (67)
  • Гороскоп (56)
  • Анимации (49)
  • FAQ (45)
  • Рамки (44)
  • Анекдоты (37)
  • Плэйкасты (36)
  • Схемы (32)
  • Открытки (24)
  • Мода. Всё для женщин (23)
  • Пазлы (21)
  • Переводчики (16)
  • ТV и Радио (15)
  • Крым (14)
  • Шрифты (14)
  • Картинки (14)
  • Рамки с картинками (11)
  • Коды (11)
  • Эпиграфы (8)
  • Политика (5)
  • Администрация (3)

Метки

Поиск по дневнику

Подписка по e-mail

Друзья

Постоянные читатели

Сообщества

Статистика

Создание макросов для упрощения работы с Microsoft Word.

Макрос — это набор определенных действий, команд и/или инструкций, которые сгруппированы в одну целостную команду, обеспечивающую автоматическое выполнение той или иной задачи. Если вы активный пользователь MS Word, вы тоже можете автоматизировать часто выполняемые задачи, создав для них соответствующие макросы.

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

Области использования макросов:

2. Объединение нескольких команд в целостное действие “от и до”. Например, с помощью макроса можно вставить таблицу заданного размера с необходимым количеством строк и столбцов.

3. Упрощение доступа к некоторым параметрам и инструментам, расположенным в различных диалоговых окнах программы.

4. Автоматизация сложных последовательностей действий.

Последовательность макросов может быть записана или создана с нуля путем введения кода в редактор Visual Basic на одноименном языке программирования.

Включение макросов

По умолчанию макросы доступны не во всех версиях MS Word, точнее, они просто не включены. Чтобы активировать их необходимо включить средства разработчика. После этого на панели управления программы появится вкладка “Разработчик”. О том, как это сделать, читайте ниже.

Примечание: В версиях программы, в которых макросы доступны изначально (например, Ворд 2016), средства для работы с ними находятся во вкладке “Вид” в группе “Макросы”.

1. Откройте меню “Файл” (кнопка “Microsoft Office” ранее).

2. Выберите пункт “Параметры” (ранее “Параметры Word”).

3. Откройте в окне “Параметры” категорию “Основные” и перейдите в группе “Основные параметры работы”.

Читать еще:  Как сделать афишу на компьютере в word?

4. Установите галочку напротив пункта “Показывать вкладку “Разработчик” на ленте”.

5. На панели управления появится вкладка “Разработчик”, в которой и будет находиться пункт “Макросы”.

Запись макросов

1. Во вкладке “Разработчик” или, в зависимости от используемой версии Ворда, во вкладке “Вид”, нажмите кнопку “Макросы” и выберите пункт “Запись макроса”.

2. Задайте имя для создаваемого макроса.

Примечание: Если вы, создавая новый макрос, даете ему точно такое же имя, как у встроенного в программу, действия, записанные вами в новый макрос, будут выполняться взамен стандартным. Для просмотра макросов, доступных в MS Word по умолчанию, в меню кнопки “Макросы” выберите “Команды Word”.

3. В пункте “Макрос доступен для” выберите то, для чего он будет доступен: шаблон или документ, в который его следует сохранить.

    Совет: Если вы хотите, чтобы создаваемый макрос был доступен во всех документах, с которыми вы работаете в дальнейшем, выберите параметр “Normal.dotm”.

4. В поле “Описание” введите описание для создаваемого макроса.

5. Выполните одно из действий, указанных ниже:

  • Начните запись — чтобы приступить к началу записи макроса, не связывая его при этом с кнопкой на панели управления или комбинацией клавиш, нажмите “ОК”.
  • Создайте кнопку — чтобы связать создаваемый макрос с кнопкой, расположенной на панели управления, выполните следующее:

      • Нажмите “кнопке”;

      • Выберите документ или документы, в которых требуется добавить создаваемый макрос на панель быстрого доступа (раздел “Настройка панели быстрого доступа”);

      Совет: Чтобы создаваемый макрос был доступен для всех документов, выберите параметр “Normal.dotm”.

    В окне “Макрос из” (ранее “Выбрать команды из”) выберите макрос, который следует записать, нажмите “Добавить”.

      • Если вы хотите настроить эту кнопку, нажмите “Изменить”;

      • Выберите подходящий символ для создаваемой кнопки в поле “Символ”;

      • Введите имя макроса, которое будет отображаться в дальнейшем в поле “Отображаемое имя”;

      • Для начала записи макроса дважды кликните по кнопке “ОК”.

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

  • Назначьте сочетание клавиш — Для того, чтобы назначить комбинацию клавиш для создаваемого макроса, выполните следующие действия:

      • Кликните по кнопке “Клавишами” (ранее “Клавиатура”);

      • В разделе “Команды” выберите макрос, который необходимо записать;

      • В разделе “Новое сочетание клавиш” введите любую удобную для вас комбинацию, после чего нажмите кнопку “Назначить”;

    6. Выполните поочередно все те действия, которые необходимо включить в макрос.

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

    7. Для остановки записи макроса нажмите “Остановить запись”, эта команда расположена в меню кнопки “Макросы” на панели управления.

    Изменение комбинаций клавиш для макроса

    1. Откройте окно “Параметры” (меню “Файл” или кнопка “MS Office”).

    2. Выберите пункт “Настройка”.

    3. Нажмите на кнопку “Настройка”, расположенную рядом с полем “Сочетание клавиш”.

    4. В разделе “Категории” выберите “Макросы”.

    5. В открывшемся списке выберите макрос, который необходимо изменить.

    6. Кликните по полю “Новое сочетание клавиш” и нажмите клавиши или комбинацию клавиш, которые вы хотите назначить для конкретного макроса.

    7. Убедитесь, что назначенное вами сочетание клавиш не используется для выполнения другой задачи (поле “Текущее сочетание”).

    8. В разделе “Сохранить изменения” выберите подходящий вариант (место) для сохранения места, где макрос будет запускаться.

      Совет: Если вы хотите, чтобы макрос был доступен к использованию во всех документах, выберите параметр “Normal.dotm”.

    9. Нажмите “Закрыть”.

    Запуск макроса

    1. Нажмите на кнопку “Макросы” (вкладка “Вид” или “Разработчик”, в зависимости от используемой версии программы).

    2. Выберите макрос, который хотите запустить (список “Имя макроса”).

    3. Нажмите “Выполнить”.

    Создание нового макроса

    1. Нажмите кнопку “Макросы”.

    2. Задайте имя для нового макроса в соответствующем поле.

    3. В разделе “Макросы из” выберите шаблон или документ, для которого будет сохранен создаваемый макрос.

      Совет: Если вы хотите, чтобы макрос стал доступен во всех документах, выберите параметр “Normal.dotm”.

    4. Нажмите “Создать”. Будет открыт редактор Visual Basic, в котором и можно будет создать новый макрос на языке Visual Basic.

    На этом все, теперь вы знаете, что такое макросы в MS Word, зачем они нужны, как их создавать и как с ними работать. Надеемся, информация из этой статьи будет полезной для вас и действительно поможет упростить, ускорить работу со столь продвинутой офисной программой.

  • Ссылка на основную публикацию
    Adblock
    detector