Макросы для сохранения в word

Word для Microsoft 365 Word для Интернета Word 2021 Word 2019 Word 2016 Word 2013 Word 2010 Word 2007 Еще…Меньше

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

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

  1. В меню Вид последовательно выберите пункты Макросы и Записать макрос.

    Запись макрокоманды

  2. Введите имя макроса.

    Поле имени макроса

  3. Чтобы использовать этот макрос во всех новых документах, проверьте, что в поле Сохранить изменения в указано значение Всех документов (Normal.dotm).

    Поле для выбора места сохранения макроса

  4. Чтобы запускать макрос нажатием кнопки, выберите пункт Кнопка.

    Выберите этот пункт, чтобы назначить макрос кнопке

  5. Щелкните новый макрос (у него будет имя примерно следующего вида: Normal.NewMacros.<имя вашего макроса>), а затем нажмите кнопку Добавить.

    Макрос и кнопка "Добавить"

  6. Нажмите кнопку Изменить.

    Кнопка "Изменить" в окне "Настройка панели быстрого доступа"

  7. Выберите изображение для кнопки, введите нужное имя и дважды нажмите OK.

    Параметры кнопок в окне "Изменение кнопки"

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

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

  9. Чтобы остановить запись, в меню Вид последовательно выберите пункты Макросы и Остановить запись.

    Команда "Остановить запись"

На панели быстрого доступа появится кнопка для вашего макроса.

Кнопка макроса на панели быстрого запуска

Чтобы запустить макрос, нажмите эту кнопку.

  1. В меню Вид последовательно выберите пункты Макросы и Записать макрос.

    Запись макрокоманды

  2. Введите имя макроса.

    Поле имени макроса

  3. Чтобы использовать этот макрос во всех новых документах, проверьте, что в поле Сохранить изменения в указано значение Всех документов (Normal.dotm).

    Поле для выбора места сохранения макроса

  4. Чтобы запускать макрос с помощью сочетания клавиш, выберите пункт Клавиатура.

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

  5. Введите сочетание клавиш в поле Новое сочетание клавиш.

  6. Проверьте, не назначено ли такое же сочетание клавиш какой-либо другой команде. Если такое сочетание клавиш назначено какой-либо другой команде, то попробуйте использовать другое сочетание клавиш.

  7. Чтобы использовать этот макрос во всех новых документах, проверьте, что в поле Сохранить в указано значение Normal.dotm.

  8. Нажмите кнопку Назначить.

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

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

  10. Чтобы остановить запись, в меню Вид последовательно выберите пункты Макросы и Остановить запись.

    Команда "Остановить запись"

Чтобы запустить макрос, нажмите сочетание клавиш.

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

  1. В меню Вид последовательно выберите пункты Макросы и Просмотр макросов.

    Команда "Просмотр макросов"

  2. В пункте Имя макроса выберите в списке макрос, который вы хотите запустить.

  3. Нажмите кнопку Запустить.

Чтобы сделать макрос в одном документе доступным во всех новых документах, добавьте его в шаблон Normal.dotm.

  1. Откройте документ, в котором содержится макрос.

  2. В меню Вид последовательно выберите пункты Макросы и Просмотр макросов.

    Команда "Просмотр макросов"

  3. Нажмите кнопку Организатор.

    Копка "Организатор" в поле "Просмотр макросов"

  4. Щелкните макрос, который вы хотите добавить в шаблон Normal.dotm, а затем нажмите кнопку Копировать.

  1. В меню Файл последовательно выберите пункты Параметры и Настроить ленту.

  2. В пункте Выбрать команды из выберите пункт Макросы.

  3. Выберите нужный макрос.

  4. В пункте Настройка ленты выберите вкладку и настраиваемую группу, в которую вы хотите добавить макрос.

Если у вас нет настраиваемой группы, то нажмите кнопку Новая группа. Затем нажмите кнопку Переименовать и введите имя настраиваемой группы.

  1. Нажмите кнопку Добавить.

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

  3. Дважды нажмите кнопку OK.

  1. На вкладке Разработчик в группе Код нажмите кнопку Макросы.

  2. В поле Имя макроса введите имя нового макроса.

    Примечание: Если новому макросу присвоить то же самое имя, что и макросу, встроенному в Word, новые макрокоманды будут выполняться вместо встроенных. Чтобы просмотреть список встроенных макросов, выберите пункт Команды Word в списке Макросы из.

  3. В списке Макросы из щелкните шаблон или документ, в котором нужно сохранить макрос.

    Чтобы макрос был доступен во всех документах, выберите Normal.dotm.

  4. Нажмите кнопку Создать, чтобы вызвать редактор Visual Basic.

После запуска редактора Visual Basic могут потребоваться дополнительные сведения о работе с языком Visual Basic для приложений. Для получения сведений выберите в меню Help (Справка) пункт Microsoft Visual Basic Help (Справка по Microsoft Visual Basic) или нажмите клавишу F1.

Вы можете записать последовательность действий или создать макрос с нуля, введя код на языке Visual Basic для приложений в редактор Visual Basic.

Примечание: Чтобы работать с макросами в приложении Office Word 2007, необходимо отобразить вкладку Разработчик.

  1. Нажмите кнопку Microsoft Office Изображение кнопки Office, а затем — Параметры Word.

  2. Выберите категорию Основные.

  3. В группе Основные параметры работы с Word установите флажок Показывать вкладку «Разработчик» на ленте.

    Примечание: Лента входит в Пользовательский интерфейс Microsoft Office Fluent.

  1. На вкладке Разработчик в группе Код нажмите кнопку Запись макроса.

    Группа "Код" на вкладке "Разработчик"

  2. В поле Имя макроса введите имя нового макроса.

    Примечание: Если новому макросу присвоить то же самое имя, что и макросу, встроенному в Office Word 2007, новые макрокоманды будут выполняться вместо встроенных. Чтобы просмотреть список встроенных макросов, на вкладке Разработчик в группе Код нажмите кнопку Макросы. В списке Макросы из выберите вариант Команды Word.

  3. В списке Макрос доступен для щелкните шаблон или документ, в котором нужно сохранить макрос.

    Важно: Чтобы макрос был доступен во всех документах, выберите Normal.dotm.

  4. Введите описание макроса в поле Описание.

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

    • Начните запись.    Чтобы начать запись макроса, не связывая его с кнопкой на панели быстрого доступа или сочетанием клавиш, нажмите кнопку ОК.

    • Создайте кнопку.    Чтобы связать макрос с кнопкой на панели быстрого доступа, сделайте следующее:

      1. Щелкните кнопке.

      2. В группе Настройка панели быстрого доступа выберите документ или все документы, для которых требуется добавить макрос на панель быстрого доступа.

        Важно: Чтобы макрос был доступен во всех документах, выберите Normal.dotm.

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

      4. Чтобы настроить кнопку, нажмите кнопку Изменить.

      5. В поле Символ выберите нужный символ для кнопки.

      6. В поле Отображаемое имя введите имя макроса, которое должно отображаться.

      7. Чтобы начать запись макроса, нажмите кнопку ОК два раза.

        На панели быстрого доступа будет показан выбранный символ. Заданное имя отображается при наведении указателя на символ.

    • Назначьте сочетание клавиш.    Чтобы назначить макросу сочетание клавиш, сделайте следующее:

      1. Выберите пункт Клавиатура.

      2. В списке Команды выберите макрос, который требуется записать.

      3. В поле Новое сочетание клавиш введите любую последовательность клавиш и нажмите кнопку Назначить.

      4. Чтобы начать запись макроса, нажмите кнопку Закрыть.

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

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

  7. Чтобы остановить запись макрокоманд, выберите команду Остановить запись в группе Код.

Изменение сочетания клавиш для макроса

  1. Нажмите кнопку Microsoft Office Изображение кнопки Office, а затем — Параметры Word.

  2. Выберите команду Настройка .

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

  4. В списке Категории выберите пункт Макросы.

  5. В списке Макросы выберите макрос, который нужно изменить.

  6. Щелкните поле Новое сочетание клавиш и нажмите клавиши, которые следует назначить.

  7. В поле Текущие сочетания проверьте, не используется ли назначаемое сочетание для выполнения другой задачи.

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

    Важно: Чтобы макрос был доступен во всех документах, выберите Normal.dotm.

  9. Нажмите кнопку Закрыть.

  1. На вкладке Разработчик в группе Код выберите пункт Макросы.

    Группа "Код" на вкладке "Разработчик"

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

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

  1. На вкладке Разработчик в группе Код нажмите кнопку Макросы.

    Группа "Код" на вкладке "Разработчик"

  2. В поле Имя макроса введите имя нового макроса.

    Примечание: Если новому макросу присвоить то же самое имя, что и макросу, встроенному в Office Word 2007, новые макрокоманды будут выполняться вместо встроенных. Чтобы просмотреть список встроенных макросов, выберите пункт Команды Word в списке Макросы из.

  3. В списке Макросы из щелкните шаблон или документ, в котором нужно сохранить макрос.

    Чтобы макрос был доступен во всех документах, выберите Normal.dotm.

  4. Нажмите кнопку Создать, чтобы вызвать редактор Visual Basic.

После запуска редактора Visual Basic могут потребоваться дополнительные сведения о работе с языком Visual Basic для приложений. Для получения сведений выберите в меню Help (Справка) пункт Microsoft Visual Basic Help (Справка по Microsoft Visual Basic) или нажмите клавишу F1.

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

Если у вас есть Word, нажмите кнопку Открыть в Word, чтобы открыть документ в Word.

Изображение команды "Открыть в настольном приложении"

Затем следуйте инструкциям для классических версий Word.

Если вы запустите макрос в Word и сохраните документ, вы увидите результаты работы макроса при повторном открытии документа в Word в Интернете.

Нужна дополнительная помощь?

WORD Макросы для сохранения слияния и рассылки в отдельные файлы формата DOC или PDF


This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters

Show hidden characters

Sub ToTranslitDoc()
Dim i As Long
Dim oMerge As MailMerge
Dim oData As MailMergeDataSource
Set oMerge = ActiveDocument.MailMerge
Set oData = oMerge.DataSource
Application.ScreenUpdating = False
For i = 1 To oData.RecordCount
With oData
.FirstRecord = i
.LastRecord = i
.ActiveRecord = i
End With
With oMerge
.Destination = wdSendToNewDocument
.Execute Pause:=False
End With
With ActiveDocument
.SaveAs («d:TMP» & oData.DataFields(«Translit»).Value & «.doc»)
.Close
End With
Next i
Set oData = Nothing
Set oMerge = Nothing
Application.ScreenUpdating = True
End Sub
Sub ToTranslitPdf()
Dim i As Long
Dim oMerge As MailMerge
Dim oData As MailMergeDataSource
Set oMerge = ActiveDocument.MailMerge
Set oData = oMerge.DataSource
Application.ScreenUpdating = False
For i = 1 To oData.RecordCount
With oData
.FirstRecord = i
.LastRecord = i
.ActiveRecord = i
End With
With oMerge
.Destination = wdSendToNewDocument
.Execute Pause:=False
End With
With ActiveDocument
.SaveAs FileName:=«d:TMP» & oData.DataFields(«Translit»).Value & «.pdf», FileFormat:=wdFormatPDF
.Close (False)
End With
Next i
Set oData = Nothing
Set oMerge = Nothing
Application.ScreenUpdating = True
End Sub

Как сохранить макросы в Word 2016?

macros

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

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

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

Все примеры показаны на версии Microsoft Office Word 2016.

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

Для сохранения макросов в шаблон нужна панель инструментов «Разработчик», которая по умолчанию отключена, поэтому в процессе работы ее нужно будет включить.

Для этого:

Открываем редактор Microsoft Office Word и создаем новый документ.

Нажимаем на «Файл», тогда открываем «Параметры».

macros

macros

Далее открываем «Настроить ленту» и ставим флажок на «Разработчик». Подтверждаем кнопкой «Ок».

macros

Теперь в нашей панели появится вкладка «Разработчик». Открываем ее и нажимаем на кнопку «Шаблон документа».

macros

Находим там кнопку «Организатор» и нажимаем на нее.

macros

Далее открываем вкладку «Макросы». С правой стороны видим список наших макросов. Их с помощью кнопки «Копировать» нужно перенести в левую сторону. После этого можно закрыть окно.

macros

Обратите внимание, что под текстом «Макросы и документы:» должно быть название нашего документа.

Теперь осталось сохранить наш документ с расширением *.docm. Данное расширение и будет вмещать наши добавленные макросы.

macros

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

При открытии документа с расширением *.docm, Word спросит разрешения на включение их содержимого. Чтобы можно было использовать макросы, нужно данное разрешение предоставить, нажав на кнопку «Включить содержимое».

macros

Второй способ – сохранение файла модуля в окне визуального редактора Microsoft Visual Basic.

Открываем Microsoft Visual Basic с помощью сочетания клавиш Alt + F11 или открыв его с панели «Разработчик» (нужно нажать на кнопку Visual Basic).

В шаблоне Normal (обычно) находим папку Modules. Там можно видеть наши макросы.

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

macros

Дальше нужно экспортировать макросы. Для этого выделяем мышью макросы, идем в «File → Export File» и указываем место для сохранения файла.

macros

Теперь данный файл можно импортировать на любой компьютер через команду «File → Import File», открыв Microsoft Visual Basic.

Создал несколько свих шаблонов документов MS Word. Каждый из них содержит макросы. Идея такая, что пользователи создают документы на основе этих шаблонов, а макросы обрабатывают документы нужным образом.

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

Можно ли автоматом макросы из шаблона встраивать и в создаваемый документ?

Ответы

Спасибо за ответ.

Возможно я неоднозначно описал проблему. Попробую конкретизировать: у меня есть шаблон Word с поддержкой макросов (Андрей.dot). Создаю документ на основе этого шаблона на своем компьютере («Новый_документ.doc») — макросы работают прекрасно, т.к. хранятся в шаблоне.

Теперь я передаю «Новый_документ.doc» на другой компьютер и вот тут макросы пропадают, т.к. «Новый_документ.doc» ссылается теперь уже на стандартный шаблон «Normal.dot». Ведь мой шаблон (Андрей.dot) стал недоступен.

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

С уважением, Андрей.

  • Помечено в качестве ответа Vinokurov Yuriy Moderator 22 ноября 2011 г. 7:52

Все ответы

Добрый день.

Создал несколько свих шаблонов документов MS Word. Каждый из них содержит макросы. Идея такая, что пользователи создают документы на основе этих шаблонов, а макросы обрабатывают документы нужным образом.

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

Можно ли автоматом макросы из шаблона встраивать и в создаваемый документ?

С уважением,

Андрей

  • Изменено Жук MVP, Moderator 16 ноября 2011 г. 13:51

Спасибо за ответ.

Возможно я неоднозначно описал проблему. Попробую конкретизировать: у меня есть шаблон Word с поддержкой макросов (Андрей.dot). Создаю документ на основе этого шаблона на своем компьютере («Новый_документ.doc») — макросы работают прекрасно, т.к. хранятся в шаблоне.

Теперь я передаю «Новый_документ.doc» на другой компьютер и вот тут макросы пропадают, т.к. «Новый_документ.doc» ссылается теперь уже на стандартный шаблон «Normal.dot». Ведь мой шаблон (Андрей.dot) стал недоступен.

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

Как перенести настройки Microsoft Word при переустановке Windows или переходе на другой компьютер

Юзабилити, функциональность и настраиваемость – основные преимущества текстового редактора Word от софтверного гиганта Microsoft. Чтобы сделать работу с документами максимально удобной, можно персонализировать ленту меню и панель быстрого доступа, создать свои шаблоны и коллекции стилей форматирования, сформировать свой словарь терминов и т.п. Однако при переустановке Windows или переходе на другой компьютер с частью нажитого добра придётся прощаться.

Столь сложный инструмент, как редактор Word, внутри интерфейса предусматривает лишь экспорт настроенной ленты меню и панели быстрого доступа. Благо, есть способы ручного переноса всех остальных данных. Рассмотрим эти способы для среды Windows.

Описываемые ниже инструкции подходят для Word 2010, 2013, 2016.

1. Лента меню и панель быстрого доступа

Экспорт ленты меню и размещающейся над или под ней панели с кнопками часто используемых функций — это, как упоминалось, единственное, что можно без лишних танцев с бубном извлечь, а затем внедрить в программу, когда та будет установлена уже в среде другой Windows. В меню «Файл» кликаем «Параметры».

Меню «Файл»

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

Параметры

Затем указываем путь создания файла с расширением «.exportedUI» . Этот файл храним на отличных от С дисках, помещаем на флешку, загружаем в «облако» или используем любой другой способ переноса данных на другой компьютер. В переустановленной системе или на новом устройстве для импорта настроек снова открываем параметры программы.

Параметры программы

И импортируем файл с расширением «.exportedUI» .

ExportedUI

Дальнейшие действия предполагают ручной перенос рабочих данных Word, потому текстовый редактор, соответственно, должен быть закрыт. Как добраться к этим данным? Проще всего клавишами Win + R вызвать команду «Выполнить» и ввести:

appdata

После нажатия Enter откроется каталог хранения настроек программ пользовательского профиля «AppData». В нём нам понадобится папка «Roaming», а в ней – подпапка «Microsoft». Все дальнейшие операции будут проводится именно здесь.

Проводник

2. Пользовательский словарь

Когда мы отдельные слова добавляем в словарь с помощью опции в контекстном меню редактора,

Пользовательский словарь

они, естественно, не пополняют словарный запас предустановок Word, а хранятся в отдельном файле Custom.dic . И чтобы на новой Windows при проверке правописания не отвлекаться на формирование своего словаря по новой, его можно перенести. Заходим в папку «UProof», копируем файл Custom.dic в надёжное место и храним его.

Файл Custom.dic

В новой среде компьютера открываем эту же папку и переносим сохранённый Custom.dic с заменой исходной редакции.

3. Параметры автозамены

Настроенные нами внутри интерфейса Word параметры автозамены хранятся в файлах с расширением «.acl» . Чтобы их перенести в новую Windows, в папке «Microsoft» открываем подпапку «Office» и копируем в подготовленное место все файлы с этим расширением.

Подпапка «Office»

В новой операционной системе, соответственно, возвращаем их назад с заменой исходных редакций.

4. Шаблоны

Настроенный шаблон по умолчанию (открывающийся как любой новый документ) со своей темой оформления, коллекцией стилей форматирования, макетом, колонтитулами, подложкой и прочими индивидуальными вещами также можно перенести в другую среду Windows. В папке «Microsoft» открываем подпапку «Templates» (в Word 2010 эта папка имеет русскоязычное название «Шаблоны») и делаем резервную копию хранящегося там файла Normal.dotm .

Normal.dotm

В новой среде этот файл возвращаем на место с заменой исходной редакции.

Word предусматривает работу и с другими настраиваемыми образцами документов – личными шаблонами. Их местом хранения по умолчанию в Word 2013 и 2016 значится системная папка «Документы». Следовательно, оттуда шаблоны необходимо переместить на время переустановки Windows, а затем вернуть назад. Или поступить по-другому: в самих настройках редактора прописать путь текущего расположения шаблонов.

Настройка сохранения документа

В Word 2010 любые отличные от Normal.dotm шаблоны – хоть перенесённые с других компьютеров, хоть сохранённые в процессе работы на текущем устройстве – можно сделать доступными для выбора внутри интерфейса редактора. Для этого их нужно поместить в подпапку «Шаблоны» внутри папки «Microsoft».

Папка «Microsoft»

Для их задействования при создании нового документа в интерфейсе Word 2010 выбираем «Мои шаблоны».

0 / 0 / 0

Регистрация: 27.07.2010

Сообщений: 12

1

28.07.2010, 05:09. Показов 18911. Ответов 25


Студворк — интернет-сервис помощи студентам

Помогите, пожалуйста, написать макрос.
Ситуация следующая: есть экселевский файл, включающий в себя список фамилий и соответствующих регионов, из которого берется информация для полей в вордовском документе.
Нужен макрос, который будет сохранять каждый из файлов, получающихся в результате слияния, в соответствующую отдельную папочку — регион.
То есть например, в экселевском файле фамилиии Петров соответствует Хабаровский край. Нужно чтобы в результате вордовский документ для Петрова оказался в папочке с названием Хабаровский край.
Подскажите, можно ли так сделать и, если можно, то как =)



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

28.07.2010, 05:09

Ответы с готовыми решениями:

Макрос, который вставляет картинку в документ Word
Возникла следующая проблема, есть простой макрос, который вставляет графический файл, в документ,…

Подфиксить макрос по удалению пустых строк в таблице, Word документ
Доброго дня форумчане.
Информации по теме нашел здесь много. Огромное спасибо всем, кто ранее…

Макрос для конвертации содержимого word файла в текстовый документ
Добрый день, помогите составить макрос для конвертации содержимого word файла в текстовый блокнот в…

Макрос, сохраняющий выделенное в тхт с раздел-м табуляции
Доброго вам, Уважаемые специалисты!

Прошу помочь в доработке макроса, который бы выполнял…

25

437 / 144 / 9

Регистрация: 12.01.2009

Сообщений: 678

Записей в блоге: 1

28.07.2010, 11:23

2

Цитата
Сообщение от fleurchik
Посмотреть сообщение

Помогите, пожалуйста, написать макрос.
Ситуация следующая: есть экселевский файл, включающий в себя список фамилий и соответствующих регионов, из которого берется информация для полей в вордовском документе.
Нужен макрос, который будет сохранять каждый из файлов, получающихся в результате слияния, в соответствующую отдельную папочку — регион.
То есть например, в экселевском файле фамилиии Петров соответствует Хабаровский край. Нужно чтобы в результате вордовский документ для Петрова оказался в папочке с названием Хабаровский край.
Подскажите, можно ли так сделать и, если можно, то как =)

А что из этого да дынный момент реализовано?



0



0 / 0 / 0

Регистрация: 27.07.2010

Сообщений: 12

28.07.2010, 15:19

 [ТС]

3

Всё кроме макроса. То есть есть уже сформированные письма с полями, осталось только их раскидать по папочкам. Ручками никак, потому как писем тыщ 5 будет…



0



0 / 0 / 0

Регистрация: 27.07.2010

Сообщений: 12

30.07.2010, 03:04

 [ТС]

4

Эй… Кто-нибудь…. ПОМОГИТЕ!!!!!!!!!!!



0



Sasha_Smirnov

5561 / 1367 / 150

Регистрация: 08.02.2009

Сообщений: 4,107

Записей в блоге: 30

30.07.2010, 05:18

5

Цитата
Сообщение от fleurchik
Посмотреть сообщение

Всё кроме макроса. То есть есть уже сформированные письма с полями, осталось только их раскидать по папочкам.

Открыть, узнать значение поля (республика, край) и — сохранить, указав путь.

Visual Basic
1
2
3
NN = 1 'номер на самом деле каждый раз берём новый (из цикла)
ActiveDocument.SaveAs _
"C:\Documents and Settings\магвай\Мои документы\" & NN & ".doc\"

И путь, конечно же, формируем из значения поля, где указан регион. Живой пример дайте.



0



0 / 0 / 0

Регистрация: 27.07.2010

Сообщений: 12

30.07.2010, 10:17

 [ТС]

6

Итак, живой пример.
В файле экселя первый столбец — ФИО, второй — регион.

Слияние в ворде по ФИО происходит. То есть по идее надо чтобы он каждый раз для каждой фамилии, допустим Иванов, брал соответсвующий регион, например, Читинская область, формировал в папке допустим: C:Documents and SettingsПисьма, новую папку под названием Читинская (или другим в зависимости от региона) и сохранял туда документ. Также очень важно чтобы в итоговую папку можно было сохранять не один документ, а много.



0



Sasha_Smirnov

5561 / 1367 / 150

Регистрация: 08.02.2009

Сообщений: 4,107

Записей в блоге: 30

31.07.2010, 13:38

7

Результат слияния желательно увидеть.

Чтобы я мог, скажем, написать:

Visual Basic
1
2
3
4
5
If регион = "Коми" Then 
    if каталог Коми не существует Then MkDir ... 'создать его
 
    добавить туда очередного Иванова
End If

Вот как нам эту Коми в документе отыскать?



0



Busine2009

Заблокирован

01.08.2010, 08:32

8

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



0



0 / 0 / 0

Регистрация: 27.07.2010

Сообщений: 12

02.08.2010, 10:23

 [ТС]

9

Итак, пусть есть файл эксель, где есть два столбца:

ФИО Регион
Иванов Хабаровский край
Петров Камчатский край
Сидоров Вологодская область
Зорькин Приморский край

письмо выглядит следующим образом:

Уважаемый

Иванов! — это и есть поле слияния {MERGEFIELD «ФИО»}

За небольшой период работы вы успели применить полученные ранее знания на практике, выдавали кредиты. И далее текст письма

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

я не знаю уже как ещё объяснить….



0



XoFfiCEr

исследователь

325 / 104 / 3

Регистрация: 18.03.2010

Сообщений: 1,079

Записей в блоге: 2

02.08.2010, 15:59

10

Цитата
Сообщение от Sasha_Smirnov
Посмотреть сообщение

Открыть, узнать значение поля (республика, край) и — сохранить, указав путь.

Visual Basic
1
2
3
NN = 1 'номер на самом деле каждый раз берём новый (из цикла)
ActiveDocument.SaveAs _
"C:\Documents and Settings\магвай\Мои документы\" & NN & ".doc\"

И путь, конечно же, формируем из значения поля, где указан регион. Живой пример дайте.

А почему здесь двойные слэши? Вот это бред

Visual Basic
1
"C:\Documents and Settings\магвай\Мои документы\" & NN & ".doc\"

и работать не будет.



0



Busine2009

Заблокирован

02.08.2010, 21:20

11

fleurchik,
завтра гляну, может разберусь.



0



Sasha_Smirnov

5561 / 1367 / 150

Регистрация: 08.02.2009

Сообщений: 4,107

Записей в блоге: 30

03.08.2010, 02:09

12

Цитата
Сообщение от <Профессор>
Посмотреть сообщение

А почему здесь двойные слэши?

RTFM

Цитата
Сообщение от <Профессор>
Посмотреть сообщение

Вот это бред

Visual Basic
1
"C:\Documents and Settings\магвай\Мои документы\" & NN & ".doc\"

и работать не будет.

Если, господин <Профессор>, вы не магвай, то да. А так работает.



0



0 / 0 / 0

Регистрация: 27.07.2010

Сообщений: 12

03.08.2010, 04:34

 [ТС]

13

Заранее большое спасибо! Очень надо этот макрос на работу….



0



исследователь

325 / 104 / 3

Регистрация: 18.03.2010

Сообщений: 1,079

Записей в блоге: 2

03.08.2010, 07:17

14

Цитата
Сообщение от Sasha_Smirnov
Посмотреть сообщение

RTFM

Если, господин <Профессор>, вы не магвай, то да. А так работает.

Это не путь к файлу.



0



Busine2009

Заблокирован

03.08.2010, 20:20

15

fleurchik,
не знаю решения.



0



Sasha_Smirnov

5561 / 1367 / 150

Регистрация: 08.02.2009

Сообщений: 4,107

Записей в блоге: 30

04.08.2010, 17:50

16

Цитата
Сообщение от <Профессор>
Посмотреть сообщение

Это не путь к файлу.

Тем не менее следующий

Visual Basic
1
2
3
4
5
6
Sub ToStore_N_FilesToWorkdesk()
Dim N As Byte
    For N = 1 To 4 'номер файла, прицепляемый в начало его имени
    ActiveDocument.SaveAs _
    "C:\Documents and Settings\наташа\Рабочий стол\" & N & "_ФИО.doc\"
End Sub

сохраняет на рабочий стол (произвольно выбранного мною) компьютера 4 файла.

См. иллюстрацию. (Но жаль, что мы забалтываем такую полезную тему!)

Миниатюры

Макрос в Word, сохраняющий документ в папку
 



0



исследователь

325 / 104 / 3

Регистрация: 18.03.2010

Сообщений: 1,079

Записей в блоге: 2

04.08.2010, 17:53

17

Есть другие способы и я их использую



0



5561 / 1367 / 150

Регистрация: 08.02.2009

Сообщений: 4,107

Записей в блоге: 30

04.08.2010, 18:04

18

Так поделились бы. А то… смысл выходить на форум — заклеймить?!



0



fleurchik

0 / 0 / 0

Регистрация: 27.07.2010

Сообщений: 12

19.08.2010, 02:33

 [ТС]

19

Цитата
Сообщение от Sasha_Smirnov
Посмотреть сообщение

Открыть, узнать значение поля (республика, край) и — сохранить, указав путь.

Visual Basic
1
2
3
NN = 1 'номер на самом деле каждый раз берём новый (из цикла)
ActiveDocument.SaveAs _
"C:\Documents and Settings\магвай\Мои документы\" & NN & ".doc\"

И путь, конечно же, формируем из значения поля, где указан регион. Живой пример дайте.

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

во-вторых, не цепляет ФИО из поля слияния, соответственно, название документа не получается



0



0 / 0 / 0

Регистрация: 27.07.2010

Сообщений: 12

20.08.2010, 05:22

 [ТС]

20

А я все равно не теряю надежду что мне кто-ниубдь ответит))

Нашла тему, по-моему имеющую отношение к моей, но проблема в том, что макрос, описываемый в ней, сохраняет только первую страничку и как-то по-уродски(((

Может быть, кто-ниюудь сможет помочь модифицировать код?? Я, честно говоря. ничего не понимаю там…(((

http://www.sql.ru/forum/actual… tid=144932



0



Всем привет, с вами автор блога scriptcoding.ru. Данная публикация рассматривает сохранение документа в Word с помощью программирования и с помощью рядовых методов системы Windows.

По сути, что тут может быть особенно – нажал на кнопку «Сохранить» или «Сохранить Как» и все, радуйся жизни. Но, так как я очень люблю оперировать, тьфу ты… программировать, то я решил рассмотреть решение данной задачи программным путем.

Из всей объектной модели Word, компонентами, которые предоставляют средства для сохранения в ворде документа, являются объект Documentи коллекция Documents. По сути, у объекта Document есть два метода: Save и SaveAs, которые соответствуют диалоговым окнам «Сохранить» и «Сохранить Как«, а коллекция предоставляет только метод Save. Я уже рассматривал данный объект и коллекцию, но не углублялся в методы Save и SaveAs, а все потому, что у метода SaveAs огромное количество параметров, описание которых тянет на отдельную статью. Вот я и решил собрать все это воедино, и описать.

Объект Document – сохранение в ворде

как сохранить в ворде документ

Save(NoPrompt, OriginalFormat) – Показывает, как в ворде сохранить все файлы, которые входят в коллекцию Documents.

NoPrompt – Если значение true, то Word автоматически сохранит все файлы. Если значение false — Word предложит пользователю сохранить каждый файл, изменившийся с момента последнего сохранения.

OriginalFormat — Определяет, как документы будут сохранены в ворде. Содержит значение константы WdOriginalFormat:

  • wdOriginalDocumentFormat — 1 — Оригинальный формат.
  • wdPromptUser — 2 – Пользователю будет предложено выбрать формат.
  • wdWordDocument — 0 – Формат Microsoft Word.

Если сохранение в ворде ранее не производилось, то диалоговое окно «Сохранить как» запросит у пользователя имя файла.

SaveAs(FileName, FileFormat, LockComments, Password, AddToRecentFiles, WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter, Encoding, InsertLineBreaks, AllowSubstitutions, LineEnding, AddBiDiMarks, CompatibilityMode) – Сохранение файла Word с новым именем или форматом (Диалоговое окно «Сохранить Как»).

FileName – Позволяет задать путь и имя сохраняемого файла в ворде. Если задать только имя файла, то произойдет сохранение в ворд в папке по умолчанию – «Мои Документы». Если документ с таким именем уже существует, то произойдет перезапись без уведомления пользователя.

FileFormat – Задаем формат, в котором сохраняется документ в Word. Значение константы WdSaveFormat.

Константа WdSaveFormatпозволяет задать формат PDF (wdFormatPDF – 17) или XPS(wdFormatXPS — 18). Однако, что бы сохранить в ворде файл в этих форматах, вам придется установить расширение SaveAsPDFandXPS, которое доступно на сайте Майкрософт. Смотрите статью «Как в ворде сохранить документ в PDF формате»

LockComments – Содержит логические значения, true — заблокировать документ для комментариев. По умолчанию используется false.

Password – Пароль для открытия.

AddToRecentFiles – Содержит логическое значение, true — добавить документ в список недавно использовавшихся в меню Файл. По умолчанию используется True.

WritePassword — Пароль для сохранения в ворде изменений.

ReadOnlyRecommended — Содержит логические значения, true – открывать только для чтения. По умолчанию используется False.

EmbedTrueTypeFonts — Содержит логические значения, true – сохранить TrueType шрифты вместе с документом.

SaveNativePictureFormat – Параметр используется, если графики были импортированы из другой платформы (например, Macintosh). true — сохранить в ворд только версию Microsoft Windows импортируемых графиков.

SaveFormsData –true — сохранить в ворд данные, введенные пользователем в форме в виде записи.

SaveAsAOCELetter – Параметр актуален, если документ имеет прикрепленное почтовое вложение. true – сохраняем документ Word как AOCE письмо.

Encoding – Отвечает за кодировку текста. По умолчанию используется системная кодировка. Параметр должен содержать значение константы MsoEncoding.

InsertLineBreaks – Параметр используется, если происходит сохранение документа в Word в виде текстового файла. true — вставить разрывы строк в конце каждой строки текста.

AllowSubstitutions – Актуально, если файл ворд сохраняется в виде текстового файла. Значение true позволяет Word заменить некоторые символы в тексте их упрощенными аналогами. Например, символа авторского права. По умолчанию используется значение False.

LineEnding – Определяет форматирование строк и абзацев в документах, сохраненных в виде текстовых файлов. Может быть одним из следующих значений константы WdLineEndingType:

  • wdCRLF — 0 — возврат каретки и строки.
  • wdCROnly — 1 — Возврат только каретки.

AddBiDiMarks – true — добавить управляющие символы в выходной файл.

CompatibilityMode — Режим совместимости, который Word2010 использует при открытии документа. Значение константы WdCompatibilityMode:

  • wdCurrent — 65535 — Совместимость режим эквивалентен последней версии Microsoft Word.
  • wdWord2003 — 11 — Word2010 введен в режиме, который наиболее совместим с Word2003.
  • wdWord2007 — 12 — Word2010 введен в режиме, который наиболее совместим с Office Word2007.
  • wdWord2010 — 14 — Word2013 введен в режиме, который наиболее совместим.
  • wdWord2013 — 15 — По умолчанию. Все функции Word 2013 включены.

Если данный параметр отсутствует, то принимается значение 0 – сохраняется текущий режим совместимости.

Коллекция Documents – как в ворде сохранить документ

сохранение в word документа

Save(NoPrompt, OriginalFormat) – Метод выполняет ту же функцию, что и Save объекта Document, только для коллекции Documents.

Хорошо, с теорией закончили, теперь привожу два примера программного кода на языке VBScript и JScript, котрые создают новый документ, вставляют в него форматированный текст, содержащий информацию о сервере сценариев Windows Script Host и сохраняют в ворде данный документ в текущем каталоге (каталог, откуда был произведен запуск сценария).

Программный код на языке VBSCRIPT:

' ----------------------------------------------------------------------------
' Сохранение документа в Word
' SaveAs.vbs
' ----------------------------------------------------------------------------
Option Explicit
 
dim oWord, oDoc, oSel, oFont, oShell, CurDir
 
set oWord = WScript.CreateObject("Word.Application")   
set oShell = WScript.CreateObject("WScript.Shell")
set oDoc = oWord.Documents                       
oDoc.Add()                                                            
set oSel = oWord.Selection                           
oWord.Visible = True                                           
set oFont = oSel.Font
 
CurDir = oShell.CurrentDirectory        'текущая папка
 
with oFont
    .Size = 20
    .Name = "Times New Roman"
    .Bold=true
    .Colorindex=2
end with
 
oSel.TypeText "как в ворде сохранить документ"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ' word сохранение файла
 
with oFont
    .Size = 12
    .Bold=false
    .Colorindex=0
end with
 
With oSel
     .TypeParagraph
     .TypeParagraph
End With
 
With WScript
     call TXInsert("Name: ", .Name & "")
     call TXInsert("FullName: ", .FullName & "")
     call TXInsert("ScriptName: ", .Name & "")
     call TXInsert("ScriptFullName: ", .FullName & "")
     call TXInsert("Path: ", .Path & "")
     call TXInsert("Version: ", .Version & "")
     call TXInsert("Application: ", .Application & "")
     call TXInsert("Timeout: ", .Timeout & "")
     call TXInsert("BuildVersion: ", .BuildVersion & "")
End With
 
oDoc(1).SaveAs CurDir & "WscInfo_vbs.doc", 0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ' сохранение в ворде
 
Sub TXInsert(a, b)
     With oSel
                 oFont.Bold=true
                 .TypeText a
                 .EndOf
                 oFont.Bold=false
                 .TypeText b
                 .TypeParagraph
     End With
End Sub

сохранение файла в Word

Программный код на языке JSCRIPT:

// ----------------------------------------------------------------------------
// Сохранение документа в Word
// SaveAs.js
// ----------------------------------------------------------------------------
var oWord1, oDoc1, oSel1, oFont1, oShell1, CurDir1;
 
oWord1 = WScript.CreateObject("Word.Application");
oShell1 = WScript.CreateObject("WScript.Shell");
oDoc1 = oWord1.Documents;                       
oDoc1.Add();                                                           
oSel1 = oWord1.Selection;                            
oWord1.Visible = true;                                           
oFont1 = oSel1.Font;
 
CurDir1 = oShell1.CurrentDirectory;        //текущая папка
 
with(oFont1){
    Size = 20;
    Name = "Times New Roman";
    Bold=true;
    Colorindex=2;
}
 
oSel1.TypeText("как в ворде сохранить документ");                                                                                                                                                                                                                                                                                                                                                                                                                      // word сохранение файла
 
with(oFont1){
    Size = 12;
    Bold=false;
    Colorindex=0;
}
 
with(oSel1){
     TypeParagraph();
     TypeParagraph();
}
 
with(WScript){
     TXInsert1("Name: ", Name + "");
     TXInsert1("FullName: ", FullName + "");
     TXInsert1("ScriptName: ", Name + "");
     TXInsert1("ScriptFullName: ", FullName + "");
     TXInsert1("Path: ", Path + "");
     TXInsert1("Version: ", Version + "");
     TXInsert1("Application: ", Application + "");
     TXInsert1("Timeout: ", Timeout + "");
     TXInsert1("BuildVersion: ", BuildVersion + "");
}
 
oDoc1(1).SaveAs(CurDir1 + "\WscInfo_js.doc", 0);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              // сохранение в ворде
 
function TXInsert1(a, b){
     with(oSel1){
                 oFont1.Bold=true;
                 TypeText(a);
                 EndOf();
                 oFont1.Bold=false;
                 TypeText(b);
                 TypeParagraph();
     }
}

И так, с программированием закончили, теперь можно приступить к разбору программного кода. Обратите внимание, что в примере для JSCRIPT я изменил имена переменных, добавив к ним единицу.

В самом начале происходит подключение различных классов и коллекций, которые позволяет подключить объектную модель Word, и создать новый документ. Далее следует объявление переменной CurDir, она будет хранить путь к текущему каталогу, именно в этот каталог произойдет сохранение документа в ворде. Доступ к текущему каталогу осуществляется через класс WScript.Shell – смотрите статью «Объект WScript.Shell метод ExpandEnvironmentStrings и свойство CurrentDirectory — Переменные среды Windows и текущий каталог«.

Далее с помощью класса Font – статья «Объект Word Font — параметры форматирования шрифта«, происходит настройка параметров текста: цвет, размер и так далее. После с помощью метода TypeText класса Selection происходит вставка фразы «как в ворде сохранить документ«, данная фраза также будет отформатирована: жирный шрифт и увеличенный размер символов. После мы дважды вставляет параграф – метод TypeParagraph.

Следующим этапом является использование несколько раз процедуры TXInsert, который будет передаваться два параметра: две текстовые строки. Все происходит так, что процедура вставляет в документ параметры свойств класса WScript – имя свойства и его значение.

После всей проделанной работы происходит вызов метода SaveAs, которые отвечает за сохранение файла Word. В нашем случае, в сценарии на языке VBSCRIPT произойдет сохранение документа в ворде под именем «WscInfo_vbs.doc«, а в сценарии на языке JSCRIPT – сохранение файла в ворде под именем «WscInfo_js.doc«

Понравилась статья? Поделить с друзьями:
  • Макросы для создания графиков в excel
  • Макросы для скрытия строк в excel
  • Макросы для сводных таблиц в excel
  • Макросы для заполнения таблиц excel
  • Макросы для сверки в excel