Word макрос при сохранении

Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщений [ 7 ]

1 20.10.2011 11:31:33

  • Kypo
  • сержант
  • Неактивен
  • Зарегистрирован: 24.09.2011
  • Сообщений: 11

Тема: Как запускать макрос при сохранении word документа?

Есть макрос который сейчас срабатывает на закрытие документа, хотелось, что бы он так же работал на нажатие кнопки сохранить, сохранить как и ctrl+s.

2 Ответ от aap77 20.10.2011 16:54:14

  • aap77
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 12.09.2011
  • Сообщений: 925
  • Поблагодарили: 243

Re: Как запускать макрос при сохранении word документа?

Это не получится так как  ctrl+s зарезервировано под сохранение файла и данные которые в макросе во время выполнения не сохраняться , можно попробовать объект Который при выполнении события
Private Sub Document_Close()
   ActiveDocument.Save
   [Здесь код сохранения при закрытии Документа]
‘ Тогда —> Если Объект открыт остановить программу—>Если Объект закрыт, закрыть Документ
End Sub

3 Ответ от Вождь 20.10.2011 19:45:20

  • Как запускать макрос при сохранении word документа?
  • Вождь
  • Модератор
  • Неактивен
  • Зарегистрирован: 07.01.2010
  • Сообщений: 745
  • Поблагодарили: 181

Re: Как запускать макрос при сохранении word документа?

Можно, можно. Лепим этот код в любом модуле и вперед:

Sub FileSave()
    ThisDocument.Save
    ' ваш код
End Sub

Макросы под заказ и готовый пакет — mtdmacro.ru

4 Ответ от Kypo 21.10.2011 10:13:01

  • Kypo
  • сержант
  • Неактивен
  • Зарегистрирован: 24.09.2011
  • Сообщений: 11

Re: Как запускать макрос при сохранении word документа?

Вождь пишет:

Можно, можно. Лепим этот код в любом модуле и вперед:

Sub FileSave()
    ThisDocument.Save
    ' ваш код
End Sub

Данный код работает только на кнопку «сохранить», а мне так же нужно, что бы он работал на закрытие документа нажатием на крестик и нажатием на кнопку «сохранить как».
Как совместить Sub AutoClose() и Sub FileSave() в одном макросе и можно ли добавить возможность срабатывания макроса на «сохранить как».

5 Ответ от Kypo 21.10.2011 11:20:01

  • Kypo
  • сержант
  • Неактивен
  • Зарегистрирован: 24.09.2011
  • Сообщений: 11

Re: Как запускать макрос при сохранении word документа?

Ладно, как совместить события на сохранение и закрытие я понял  roll
Как теперь добавить к этому всему срабатывание макроса на нажатие «сохранить как»?

6 Ответ от Вождь 21.10.2011 11:49:48

  • Как запускать макрос при сохранении word документа?
  • Вождь
  • Модератор
  • Неактивен
  • Зарегистрирован: 07.01.2010
  • Сообщений: 745
  • Поблагодарили: 181

Re: Как запускать макрос при сохранении word документа?

Что-то типа этого:

Sub FileSaveAs()
    With Application.Dialogs(Word.wdDialogFileSaveAs)
        If .Show = -1 Then ThisDocument.SaveAs FileName:=.Name
    End With
    ' ваш код
End Sub

Есть еще события Application…

Макросы под заказ и готовый пакет — mtdmacro.ru

7 Ответ от S.GROUP 14.06.2013 10:54:24

  • S.GROUP
  • рядовой
  • Неактивен
  • Зарегистрирован: 14.06.2013
  • Сообщений: 1

Re: Как запускать макрос при сохранении word документа?

Вождь пишет:

Что-то типа этого:

Sub FileSaveAs()
    With Application.Dialogs(Word.wdDialogFileSaveAs)
        If .Show = -1 Then ThisDocument.SaveAs FileName:=.Name
    End With
    ' ваш код
End Sub

Есть еще события Application…

Доброго всем дня!
Подскажите вот еще какую вещь:
Мой макрос выполняется при нажатии на кнопку сохранить (рядом с оригинальным файлом появляется копия в формате PDF)

ОДНАКО

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

Сообщений [ 7 ]

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Похожие темы

  • Имя документа word при сохранении, как его настроить?
  • При сохранении документа теряется нумерация заголовков
  • Макрос, добавляющий в название 1-ю строку текста при сохранении
  • Масштаб штриховки при сохранении из Word в PDF.
  • макрос учета номера документа
  • Макрос на внесение свойств документа
  • как сделать макрос для всех строк документа
  • Макрос для вставки имени файла в название документа

Как запускать макрос при сохранении word документа?

  Наверное, одна из самых востребованных программ пакета Microsoft – это редактор Microsoft Word, очень удобное мощное приложение с множеством функций. На портале о Microsoft Office Word вы узнаете про: почему в ворде не печатаются формулы.
Практически каждый владелец компьютера, хотя бы раз, но работал в этой программе. И, естественно, у новичков — возникает множество вопросов по работе с приложением, а у опытных пользователей — есть свой опыт и свои секреты по этой же работе. Наш сайт о Microsoft Office Word даст ответ про: какого назначение форм для ввода данных.
Одним нужны ответы и советы, а другие – могут ответить и посоветовать.  Для таких случаев и создан сайт Ворд Эксперт. На портале о Microsoft Office Word вы узнаете про: как в таблицу word вставить кнопку.

Cайт Ворд Эксперт предоставит вам  всевозможную информацию по приложению  Microsoft Word. В основном разделе сайта можно найти практически все —  и общую информацию, и список рекомендуемой литературы, и ответы на более конкретные вопросы — по макросам и форматированию, по работе с текстом и картинкой, по редактированию и копированию, и т.п. На портале о Microsoft Office Word вы узнаете про: как поменять орентацию в word.

На случай, если вы совершенный новичок или же возникают серьезные затруднения в работе с приложением – вы всегда можете обратиться в раздел заказов. Наш сайт о Microsoft Office Word даст ответ про: преобразовать маленькие в большие буквы excel.
Вам напишут макросы, разработают шаблоны, или сделают иную работу в редакторе. Все, что вам нужно – это просто оставить заявку в разделе. Наш сайт о Microsoft Office Word даст ответ про: нахождения текста макрос vba word.

Без сомнения, и новичкам, и опытным пользователям будет интересно и полезно зайти на форум сайта, где можно пообщаться, поделиться мнениями и впечатлениями и о программе, и о самом сайте. На портале о Microsoft Office Word вы узнаете про: как найти нужный абзац в тексте.

  • Remove From My Forums
  • Вопрос

  • Есть макрос который сейчас срабатывает на закрытие документа, хотелось, что бы он так же работал на нажатие кнопки сохранить,
    сохранить как.

Ответы

  • Есть макрос, я его вписываю дважды. Первый раз с Sub AutoClose(), второй Sub FileSave(). Что дает мне возможность запускать его при закрытии и нажатии на «Сохранить». А как задействовать теперь «Сохранить как»?

    Sub FileSaveAs :) Например, в обсуждении Change the default save file name рассмотрен пример использования этого
    метода.


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется «как есть» без каких-либо гарантий
    Follow MSTechnetForum on Twitter

    Посетите Блог Инженеров Доклады на Techdays:
    http://www.techdays.ru/speaker/Vinokurov_YUrij.html

    • Помечено в качестве ответа

      1 ноября 2011 г. 8:39

20 / 6 / 1

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

Сообщений: 74

1

27.03.2010, 11:08. Показов 9362. Ответов 19


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

Доброго всем!
Такая у меня трудность: Необходимо сохранять документ ворда, созданный макросом.Он создается, для него вызывается диалоговое окно сохранения, решение о сохранении под тем или иным именем принимает пользователь.Все устраивает, кроме: имя по умолчанию в диалоговом окне стандартное (документ1 или что-то там еще…). Надо предложить свое (чтобы система была в названии, а то, блин, загаживается всякой фигней, чем попало называют файлы). не могу найти такого свойства. Может,кто знает? Не хочу жестко все сохранять. Иногда того не стоит



0



3895 / 898 / 122

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

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

27.03.2010, 11:28

2

покажите код



0



Busine2009

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

27.03.2010, 11:29

3

Artemo,
т. е. надо, чтобы в диалоговом окне «Сохранение документа» в поле «Имя файла» по умолчанию было определённое название?



0



20 / 6 / 1

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

Сообщений: 74

27.03.2010, 11:31

 [ТС]

4

2 BUSINE2009
В точности так. Именно этого хотелось бы
а код вот этот
wd.Dialogs(wdDialogFileSaveAs).Show
где wd это объект ворд. Документ из экселя делается. Там все данные



0



Busine2009

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

27.03.2010, 11:42

5

Artemo,
вот что второе пришло в голову (первое было — в реестре что-нибудь изменить):

Visual Basic
1
2
3
4
5
6
Sub m_1()
With Dialogs(wdDialogFileSaveAs)
    .Name = "Моё сохранение"
    .Show
End With
End Sub

Этот макрос надо поместить в меню Файл вместо «Сохранить» и «Сохранить как…» и на Стандартную панель инструментов, вместо кнопки «Сохранить».



0



20 / 6 / 1

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

Сообщений: 74

27.03.2010, 12:04

 [ТС]

6

Не знаю, как это сделать. Просто запустить-он не работает



0



Busine2009

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

27.03.2010, 12:20

7

Artemo,
ясное дело, что он не будет работать в Exel (wdDialogFileSaveAs).
Вот для Exel.

Visual Basic
1
2
3
Sub m_1()
Application.Dialogs(xlDialogSaveAs).Show ("Моё сохранение")
End Sub

Может в твоём случае не надо вызывать Диалоговое окно «Сохранение документа», а надо как-то автоматизировать Сохранение.



1



20 / 6 / 1

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

Сообщений: 74

27.03.2010, 12:39

 [ТС]

8

Спасибо!
Теперь буду переделывать сохранение.



0



ironegg

1904 / 781 / 31

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

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

27.03.2010, 15:58

9

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

не могу найти такого свойства.

Visual Basic
1
Application.FileDialog(msoFileDialogSaveAs).InitialFileName = "c:хорошее имя.txt"

для любого приложения с VBA должно работать



1



20 / 6 / 1

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

Сообщений: 74

28.03.2010, 13:26

 [ТС]

10

Спасибо! Тоже здоровский объект. И документирован. Есть простор для творчества. Коллеги удивятся теперь, всяко…:-)



0



ctac1412

18 / 18 / 2

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

Сообщений: 387

19.02.2016, 12:24

11

добрый день, Буду очень благодарен если у вас есть какие нибудь мысли.
Вопрос- Можно ли в макрос вставить не константное имя файла? Например копируем шапку файла, и «сохранить как» «вставить»

Visual Basic
1
2
3
4
5
6
Sub m_1()
With Dialogs(wdDialogFileSaveAs)
    .Name = "ctrl+v предыдущей копии"
    .Show
End With
End Sub



0



Казанский

15136 / 6410 / 1730

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

Сообщений: 9,999

19.02.2016, 14:26

12

ctac1412,

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub m_1()
Dim s
  On Error Resume Next
  With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") 'DataObject
    .GetFromClipboard
    s = .GetText
  End With
  On Error GoTo 0
  With Dialogs(wdDialogFileSaveAs)
    .Name = s
    .Show
  End With
End Sub



0



18 / 18 / 2

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

Сообщений: 387

19.02.2016, 14:51

13

я не полный ноль, но по 10 бальной шкале я 1.
Могли бы вы пожалуйста на пальцах сказать что куда вставлять?

вот концовка макроса допустм, где копи- я копирую в буфер нужное мне название из самого файла.

П.с. я работаю в ворде

Selection.Copy

Dialogs(wdDialogFileSaveAs)

Добавлено через 6 минут
Казанский, Это я вам писал выше)) Только разобрался как ответ писать



0



Казанский

15136 / 6410 / 1730

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

Сообщений: 9,999

19.02.2016, 15:28

14

ctac1412, так Вы не вручную копируете? Если это будет часть макроса, буфер обмена вообще не надо задействовать

Visual Basic
1
2
.Name = Selection.Text 'выделенный текст
.Name = ActiveDocument.Words(1).Text 'первое слово документа

и т.п.



0



ctac1412

18 / 18 / 2

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

Сообщений: 387

20.02.2016, 16:51

15

Казанский, Большое спасибо что тратите на меня время. Хоть и тп мне не ясно, потому что я не знаю разнообразия всех методов и мои макросы наверное такие тупые и нагруженые, а спецы делали бы это все в пару строк)) Если не сложно, не подскажете, как указать в макросе путь куда сохранять и что бы не выскакивало окно выбора пути?

Добавлено через 15 минут
Казанский, Кстати, если не сложно ответться, что делают 2-8 строки? Я их удалил, и без них работало.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub m_1()
Dim s
  On Error Resume Next
  With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") 'DataObject
    .GetFromClipboard
    s = .GetText
  End With
  On Error GoTo 0
  With Dialogs(wdDialogFileSaveAs)
    .Name = s
    .Show
  End With
End Sub

Добавлено через 9 минут
И есть ли все таки способ сделать имя из буфера? Например я макросом копирую заявление 11/11/16-1 ( далее в прога не читает такое название) у меня копируется номер заявления, вставляется в свободную строку, «/» меняются на «.» и дописывается .doc (11.11.16-1.doc) и удаляется из строки( а запись оставалась в буфере). Файл закрывается с сохранением. Потом я нажимал f2 жмакал ctrl+v и все. Нельзя «сохранить как», потому что работа с доком идет из temp папки и он положит файл в другое место. А я начинал работу с скачанным файлом и мне нужно именно ему поменять имя а не создать новый.

То есть я скачиваю ворду, перетаскиваю из мозилы в месанджер и менял имя внутри месенджера

Добавлено через 20 часов 11 минут
Я понял как можно указать папку, куда устанавливать. Но как можно сделать так, что бы не спрашивали подтверждение????

Visual Basic
1
2
3
4
5
6
ChangeFileOpenDirectory "C:UsersСтасDesktopПРОБНЫЙпробные"
    With Dialogs(wdDialogFileSaveAs)
    .Name = Selection.Text
    .Show
  End With
End Sub



0



Казанский

15136 / 6410 / 1730

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

Сообщений: 9,999

20.02.2016, 17:19

16

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

я не полный ноль, но по 10 бальной шкале я 1

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

Visual Basic
1
2
ActiveDocument.SaveAs "C:UsersСтасDesktopПРОБНЫЙпробные" & Selection.Text
ActiveDocument.Close 0

Мне непонятно, текст 11/11/16-1 для формирования имени Вы вручную находите, или макросом? И нет ли этой информации в Свойствах документа?
Если макросом, то можно автоматизировать весь процесс с помощью скрипта VBS, который даже можно встроить в оболочку Проводника: Вы выделяете файл, правый клик — команда, например, Перенести — и файл переносится в другую папку с новым именем



1



ctac1412

18 / 18 / 2

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

Сообщений: 387

20.02.2016, 17:56

17

Огромное спасибо. Именно через запись я и учусь. Но не все мои действия он прописывает. С тем же сохранить как. Я сам уже написал для себя 7 макросов, мне кажется они настолько ****ты, и что есть намного проще решения)) Но как есть, черновой вариант все же лучше чем ничего))

Тест я нахожу макросом и переделываю в формат 11_11_16-1. А вообще это все просто конец одного большого макроса с манипуляциями с текстами. Просто хочется что бы макрос логически заканчивался Не подскажете полезную литературу?) Где можно найти описанный вами вариант? Очень сложно уже благодарить всех на этом сайте.

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

Visual Basic
1
2
3
4
5
ActiveDocument.SaveAs FileName:="врТС-МО07.01196.doc", FileFormat:= _
        wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _
        True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
        False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False

Видимо здесь он указывает что док в строчке имени файла, но ведь нам не подходит этот вариант. Что можно сделать?

Добавлено через 4 минуты
нашел решение)) можете порадоваться за юного падавана)

Visual Basic
1
2
3
ActiveDocument.SaveAs "C:UsersСтасDesktopПРОБНЫЙпробные" & Selection.Text, FileFormat:= _
wdFormatDocument
ActiveDocument.Close 0



0



Казанский

15136 / 6410 / 1730

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

Сообщений: 9,999

21.02.2016, 00:47

18

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

Не подскажете полезную литературу?

Учебники, справочники, самоучители

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

Тест я нахожу макросом и переделываю в формат 11_11_16-1
… к выделенному тексту дописать».doc»

Есть подозрение, что Вы делаете это в документе. Но в VBA есть много функций и операторов для работы со строками!
Например, можно написать свою функцию для замены символов, которые недопустимо использовать в имени файла, на «_», за исключением «/», который менять на точку:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Function ValidFileName(s As String) As String
Dim i As Long
  ValidFileName = s
  For i = 1 To Len(s)
    If Mid$(s, i, 1) = "/" Then
      Mid$(ValidFileName, i, 1) = "."
    ElseIf InStr("/:*?""<>|", Mid$(s, i, 1)) Then
      Mid$(ValidFileName, i, 1) = "_"
    End If
  Next
End Function

Тогда записать документ в другую папку с именем, взятым из выделенного диапазона, можно так:

Visual Basic
1
2
ActiveDocument.SaveAs "C:UsersСтасDesktopПРОБНЫЙпробные" & ValidFileName(Selection.Text) & ".doc", _
  FileFormat:=ActiveDocument.SaveFormat

То есть если перед этой командой выделить текст 11/11/16-1 , то файл будет сохранен в
C:UsersСтасDesktopПРОБНЫЙпробные11.11.16-1.doc
и с тем же форматом файла (формат не зависит от расширения!)



1



ctac1412

18 / 18 / 2

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

Сообщений: 387

21.02.2016, 01:23

19

вроде разобрался, даже через пол часа понял как вставить функцию))) Котелок не варит уже… нельзя наверное так быстро пытаться понимать?)
А что, если сохранение активного окна это не конец макроса? Функция все равно сработает? ( я ее прописал ниже макроса) НО у меня на странице до 10 макросов бывает. Или я не верно их оформляю?)

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub QQQ()
ActiveDocument.SaveAs "C:UsersСтасDesktopпробные" & ValidFileName(Selection.Text) & ".doc", _
  FileFormat:=ActiveDocument.SaveFormat
End Sub
 
Function ValidFileName(s As String) As String
Dim i As Long
  ValidFileName = s
  For i = 1 To Len(s)
    If Mid$(s, i, 1) = "/" Then
      Mid$(ValidFileName, i, 1) = "."
    ElseIf InStr("/:*?""<>|", Mid$(s, i, 1)) Then
      Mid$(ValidFileName, i, 1) = "_"
    End If
  Next
End Function



0



18 / 18 / 2

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

Сообщений: 387

22.02.2016, 19:55

20

Добрый день! Помогите пожалуйста!! Появилась новая потребность. Нужно сохранить файл именем, которое не будет в самом файле, но мы можем его скопировать из предыдущего открытого файла.Может как то по ходу макроса задать свойство доку и взять имя из свойства или какие нибудь еще аферы? или подпись…..



0



Автор lapin9126, 21 мая 2017, 08:33

Добрый день. Как сохранить открытый документ с другим именем, в другую папку расположенную в той же директории откуда открыт документ, и в нём выполнить макрос.
Например: документ с именем «Исходный» («С:оригиналы»), сохранить как «Исходный (копия)» в папку «обработано»(«С:оригиналыобработано») и  в  «Исходный (копия)» выполнить макрос.



Администратор

  • Administrator
  • Сообщения: 2,253
  • Записан

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




Администратор

  • Administrator
  • Сообщения: 2,253
  • Записан

Папка «обработано» должна быть создана (можно и с помощью макроса её создать).

Макрос

Sub Макрос()

    Dim doc As Document

        ‘ Присваиваем активному ворд-файлу имя «doc».
    Set doc = ActiveDocument

        ‘ Создание копии активного файла, при этом он закроется.
    doc.SaveAs2 FileName:=doc.Path & «обработаноИсходный (копия).docx», FileFormat:=wdFormatXMLDocument

        ‘ Здесь делаете действия с переменной «doc», которая представляет собой новый созданный файл.
    ‘ Вывод имени файла «doc» в View — Immediate Window.
    Debug.Print doc.Name

    End Sub

[свернуть]



Администратор

  • Administrator
  • Сообщения: 2,253
  • Записан

Переменную «doc» не обязательно использовать, можно и без неё обойтись:

Макрос

Sub Макрос()
    ‘ Создание копии активного файла, при этом он закроется.
    ActiveDocument.SaveAs2 FileName:=ActiveDocument.Path & «обработаноИсходный (копия).docx», FileFormat:=wdFormatXMLDocument
    ‘ Здесь делаете действия с новым созданным файлом, используя «ActiveDocument».
    ‘ Вывод имени активного файла в View — Immediate Window.
    Debug.Print ActiveDocument.Name
End Sub

[свернуть]


При сохранении файла нужно присваивать имя исходного (открытого) файла с добавлением (копия), а не конкретно «Исходный (копия)» Это для примера было.



Администратор

  • Administrator
  • Сообщения: 2,253
  • Записан
Макрос

Sub Макрос()

    Dim FN As String

        ‘1. Формирование полного имени (путь + имя) для нового файла на основе полного имени активного файла.
    ‘ Вычленение имени файла.
    FN = Left(ActiveDocument.Name, InStrRev(ActiveDocument.Name, «.») — 1)
    ‘ Добавление к имени файла фразы «(копия»).
    FN = FN & » (копия)» & «.docx»
    ‘ Добавление пути.
    FN = ActiveDocument.Path & «» & FN

        ‘2. Создание копии активного файла, при этом он закроется.
    ActiveDocument.SaveAs2 FileName:=FN, FileFormat:=wdFormatXMLDocument

        ‘3. Здесь делаете действия с новым созданным файлом, используя «ActiveDocument».
    ‘ Вывод имени активного файла в View — Immediate Window.
    Debug.Print ActiveDocument.Name

    End Sub

[свернуть]


Спасибо, чуть-чуть подправил (добавил место сохранения  & «обработано» & «»), теперь то что нужно.


  • Форум по VBA, Excel и Word

  • Word

  • Макросы в Word

  • Word: Как сохранить документ (ворд-файл) с помощью VBA?

Содержание

  • Области использования макросов:
  • Включение макросов
  • Запись макросов
  • Изменение комбинаций клавиш для макроса
  • Запуск макроса
  • Создание нового макроса
  • Вопросы и ответы

Как создать макрос в Ворде

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

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

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

    1. Ускорение часто выполняемых операций. В числе таковых форматирование и редактирование.

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

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

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

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

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

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

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

Кнопка Макросы в Word

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

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

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

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

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

Lumpics.ru

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

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

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

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

Окно Запись макроса в word

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

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

Выбор места для применения макроса в Word

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

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

Описание макроса в Word

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

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

    Параметры макроса в Word

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

    Доступ к макросу в Word

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

    Добавить макрос в Word

      • Если вы хотите настроить эту кнопку, нажмите “Изменить”;
      • Выберите подходящий символ для создаваемой кнопки в поле “Символ”;
      • Введите имя макроса, которое будет отображаться в дальнейшем в поле “Отображаемое имя”;
      • Для начала записи макроса дважды кликните по кнопке “ОК”.

    Запись макроса ОК в Word

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

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

    Запись макроса клавишами в Word

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

    Настройка клавиатуры в Word

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

    Настройка комбинаций клавиатуры в Word

      • Для начала записи макроса нажмите “Закрыть”.

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

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

    Урок: Горячие клавиши в Ворде

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

    остановить запись макроса в Word

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

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

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

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

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

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

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

    Настройка клавиатуры в Word

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

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

    Сохранить Настройки клавиатуры в word

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

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

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

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

    Открыть макросы в Word

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

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

    Выбор Макроса в Word

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

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

    Кнопка макросы в Word

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

    Имя Макроса в Word

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

    Создать Макрос в Word

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

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

    Microsoft Visual Basic for Applications - Normal

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

    Понравилась статья? Поделить с друзьями:
  • Word макрос номер страницы
  • Word макрос не найден или отключен по соображениям безопасности
  • Word макрос не запускается
  • Word макрос не виден
  • Word макрос на сочетание клавиш