Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 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
- Вождь
- Модератор
- Неактивен
- Зарегистрирован: 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 документа?
Ладно, как совместить события на сохранение и закрытие я понял
Как теперь добавить к этому всему срабатывание макроса на нажатие «сохранить как»?
6 Ответ от Вождь 21.10.2011 11:49:48
- Вождь
- Модератор
- Неактивен
- Зарегистрирован: 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. Вся информация предоставляется «как есть» без каких-либо гарантий
Посетите Блог Инженеров Доклады на 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
Доброго всем!
0 |
3895 / 898 / 122 Регистрация: 16.04.2009 Сообщений: 1,824 |
|
27.03.2010, 11:28 |
2 |
покажите код
0 |
Заблокирован |
|
27.03.2010, 11:29 |
3 |
Artemo,
0 |
20 / 6 / 1 Регистрация: 06.03.2010 Сообщений: 74 |
|
27.03.2010, 11:31 [ТС] |
4 |
2 BUSINE2009
0 |
Заблокирован |
||||
27.03.2010, 11:42 |
5 |
|||
Artemo,
Этот макрос надо поместить в меню Файл вместо «Сохранить» и «Сохранить как…» и на Стандартную панель инструментов, вместо кнопки «Сохранить».
0 |
20 / 6 / 1 Регистрация: 06.03.2010 Сообщений: 74 |
|
27.03.2010, 12:04 [ТС] |
6 |
Не знаю, как это сделать. Просто запустить-он не работает
0 |
Заблокирован |
||||
27.03.2010, 12:20 |
7 |
|||
Artemo,
Может в твоём случае не надо вызывать Диалоговое окно «Сохранение документа», а надо как-то автоматизировать Сохранение.
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 |
|||
не могу найти такого свойства.
для любого приложения с 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 |
|||
добрый день, Буду очень благодарен если у вас есть какие нибудь мысли.
0 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
19.02.2016, 14:26 |
12 |
|||
ctac1412,
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, так Вы не вручную копируете? Если это будет часть макроса, буфер обмена вообще не надо задействовать
и т.п.
0 |
ctac1412 18 / 18 / 2 Регистрация: 12.02.2013 Сообщений: 387 |
||||||||
20.02.2016, 16:51 |
15 |
|||||||
Казанский, Большое спасибо что тратите на меня время. Хоть и тп мне не ясно, потому что я не знаю разнообразия всех методов и мои макросы наверное такие тупые и нагруженые, а спецы делали бы это все в пару строк)) Если не сложно, не подскажете, как указать в макросе путь куда сохранять и что бы не выскакивало окно выбора пути? Добавлено через 15 минут
Добавлено через 9 минут То есть я скачиваю ворду, перетаскиваю из мозилы в месанджер и менял имя внутри месенджера Добавлено через 20 часов 11 минут
0 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
20.02.2016, 17:19 |
16 |
|||
я не полный ноль, но по 10 бальной шкале я 1 Тогда ваш первый инструмент — «запись макроса». Включаете запись, производите какие-то действия, (останавливаете запись), смотрите полученный код и т.д.
Мне непонятно, текст 11/11/16-1 для формирования имени Вы вручную находите, или макросом? И нет ли этой информации в Свойствах документа?
1 |
ctac1412 18 / 18 / 2 Регистрация: 12.02.2013 Сообщений: 387 |
||||||||
20.02.2016, 17:56 |
17 |
|||||||
Огромное спасибо. Именно через запись я и учусь. Но не все мои действия он прописывает. С тем же сохранить как. Я сам уже написал для себя 7 макросов, мне кажется они настолько ****ты, и что есть намного проще решения)) Но как есть, черновой вариант все же лучше чем ничего)) Тест я нахожу макросом и переделываю в формат 11_11_16-1. А вообще это все просто конец одного большого макроса с манипуляциями с текстами. Просто хочется что бы макрос логически заканчивался Не подскажете полезную литературу?) Где можно найти описанный вами вариант? Очень сложно уже благодарить всех на этом сайте. Добавлено через 11 минут
Видимо здесь он указывает что док в строчке имени файла, но ведь нам не подходит этот вариант. Что можно сделать? Добавлено через 4 минуты
0 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||||||
21.02.2016, 00:47 |
18 |
|||||||
Не подскажете полезную литературу? Учебники, справочники, самоучители
Тест я нахожу макросом и переделываю в формат 11_11_16-1 Есть подозрение, что Вы делаете это в документе. Но в VBA есть много функций и операторов для работы со строками!
Тогда записать документ в другую папку с именем, взятым из выделенного диапазона, можно так:
То есть если перед этой командой выделить текст 11/11/16-1 , то файл будет сохранен в
1 |
ctac1412 18 / 18 / 2 Регистрация: 12.02.2013 Сообщений: 387 |
||||
21.02.2016, 01:23 |
19 |
|||
вроде разобрался, даже через пол часа понял как вставить функцию))) Котелок не варит уже… нельзя наверное так быстро пытаться понимать?)
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), средства для работы с ними находятся во вкладке “Вид” в группе “Макросы”.
1. Откройте меню “Файл” (кнопка “Microsoft Office” ранее).
2. Выберите пункт “Параметры” (ранее “Параметры Word”).
3. Откройте в окне “Параметры” категорию “Основные” и перейдите в группе “Основные параметры работы”.
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, зачем они нужны, как их создавать и как с ними работать. Надеемся, информация из этой статьи будет полезной для вас и действительно поможет упростить, ускорить работу со столь продвинутой офисной программой.