Разное

Сохранить как макрос: Сохранение макроса — Excel

Содержание

Сохранение макроса — Excel

Создать макрос в Excel можно, запустив средство записи макросов или с помощью редактора Visual Basic для приложений (VBA). После создания макроса следует сохранить его для возможности повторного использования в текущей или в других книгах.

Сохранение макроса в текущей книге

Если понадобится использовать макрос только в той книге, где он был создан, нажмите кнопку Сохранить или Сохранить как так же, как при обычном сохранении. Но сохранение книги с макросами происходит несколько иначе, поскольку необходимо использовать специальный формат файла «с поддержкой макросов». Поэтому при попытке сохранить макрос Excel предложит два варианта:

  • Сохранить в виде книги с поддержкой макросов (XLSM-файл), выбрав Нет.

  • Сохранить в виде книги без поддержки макросов, выбрав Да.

Чтобы сохранить макрос как книгу с поддержкой макросов,

  1. щелкните Нет.

  2. В окне Сохранить как в раскрывающемся списке Тип файла выберите Книга Excel с поддержкой макросов.

  3. Нажмите кнопку Сохранить.

Создание и сохранение макросов в личной книге

Чтобы макросы были доступны при каждом запуске Excel, создайте их в книге «Personal.xlsb». Это скрытая книга на вашем компьютере, которая открывается при каждом запуске Excel. Для получения сведений о выполнении этих действий см. статью Создание и сохранение всех макросов в одной книге.

См. также


Копирование макросов в личную книгу


Краткое руководство. Создание макроса


Создание или удаление макроса


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

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

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

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

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

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

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

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

Для этого:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как сохранить макрос в excel

Сохранение макроса

​Смотрите также​​ листе Excel или​ своими инструментами для​ ответа и заранее​ почитал в интернете,​ sFolder As String,​: RAN,​// These are​_Igor_61​ бы вопроса:[QUOTE]PATRI0T написал:​На листе обработчик​Разработчик​Разработчик​Вы можете назначить макрос​ желательно ввести понятное​ Visual Basic для​ уделить пару секунд​Примечание:​ список данных будет​ автоматизации работы в​ багодарен за какую-либо​ что если выбрать​

​ sFiles As String​Скопировал в личную​ the main file​: RAN, не, не​ А зачем это?​ на событие Workbook_Open​щелкните​нажмите кнопку​ значку и добавить​ описание, которое будет​ приложений (VBA). Например,​

Сохранение макроса в текущей книге

​ и сообщить, помогла​Мы стараемся как​ становиться больше. Относительные​ Excel и создания​ помощь!​​ «личная книга макросов»,​​ ‘диалог запроса выбора​​ книгу макросов.​​ formats in Excel​ съедят, еще больше​ Kill Addr &​Что делаю:​Макросы​Запись макроса​ его на панель​ полезно вам и​ вы можете записать​ ли она вам,​ можно оперативнее обеспечивать​

  • ​ средства не привязывают​ макросов.​Юрий М​​ то он сохранится​​ папки с файлами​

  • ​Создал пустой файл​ 2007-2010:​ «ВАУ»!​​ «Файл без макросов​​1.Копирую текущий лист​

​, чтобы просмотреть макросы,​.​ быстрого доступа или​

  1. ​ всем, кто запускает​​ макрос, который сначала​​ с помощью кнопок​

  2. ​ вас актуальными справочными​​ курсор к конкретному​​Макросы – это внутренние​​: Здравствуйте! Уточните: один​​ в некой папке​​ With Application. FileDialog(msoFileDialogFolderPicker) If​ Книга1.xlsm с 6​​// 51 =​

  3. ​Надеюсь, я тоже​​ 2007.xlsx[/CODE]​​ в новую книгу,​

Создание и сохранение макросов в личной книге

​ связанные с книгой.​В поле​ ленту.​ макрос. Если у​ обновляет таблицу в​ внизу страницы. Для​ материалами на вашем​ адресу ячейки.​ приложения, которые берут​ и тот же​ xlstart. Так вот​ .Show = False​ листами.​ xlOpenXMLWorkbook (without macro’s​

support.office.com>

Автоматизация задач с помощью средства записи макросов — Excel

​ когда-то такие задачки​​В модуле к​ удаляю все лишнее​ При этом откроется​Имя макроса​Назначение макроса для элемента​ вас много макросов,​ Excel, а затем​ удобства также приводим​ языке. Эта страница​По умолчанию в Excel​ на себя всю​ файл (B.xls) нужно​ нет нигде у​ Then Exit Sub​Открыл его и​ in 2007-2010, xlsx)​ буду сходу решать,​ этой и еще​ на листе (управляющие​ диалоговое окно​

​введите название макроса.​ управления на листе​ описания помогут быстро​ открывает Outlook для​ ссылку на оригинал​ переведена автоматически, поэтому​ включен режим «Абсолют»,​ рутинную работу, облегчая​ сохранить 100 раз​ меня такой папки.​ sFolder = .SelectedItems(1)​ запустил ваш макрос.​// 52 =​ но пока -​ к нескольким строкам​

​ кнопки (shape), лишние​

​Макрос​ Сделайте имя понятным,​Вы можете назначать макросы​ определить, для чего​ ее отправки по​ (на английском языке).​ ее текст может​ но вы можете​ жизнь пользователю. Каждый​ с новыми именами?​Далее: допустим, я​ End With With​Ошибка. Выделена строка.​ xlOpenXMLWorkbookMacroEnabled (with or​ изучаю VBA в​ есть комментарии.​ строки .итд)​.​ чтобы можно было​ формам и элементам​ они нужны.​ электронной почте.​Для автоматизации повторяющихся задач,​ содержать неточности и​ изменить его, включив​ пользователь может создать​vfr800​ нашел эту папку.​ UserForm1 .Show 0​ActiveWorkbook.SaveAs sfName1, 51​ without macro’s in​

​ основном на уровне​Так же обратите​2. Удаляю макросы​Примечание:​ быстро найти нужный​ ActiveX на листе.​Чтобы начать запись макроса,​Чтобы записать макрос, следуйте​ вы можете записать​ грамматические ошибки. Для​ кнопку «Относительные ссылки»​ макрос без знания​: Нет, файл B.xls​ Чтобы дать доступ​ .Label1.Caption = «Работаем…»​И табличка.​ 2007-2010, xlsm)​ макрорекордера, т.к. не​ внимание на названия​

​ (внизу код)​ Макросы нельзя отменить. Прежде​​ макрос.​​Включение и отключение макросов​ нажмите кнопку​ инструкциям ниже.​ макрос с средство​ нас важно, чтобы​ расположенную ниже под​

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

​ языков программирования. Для​ каждый раз изменяется(над​

  • ​ к макросу другим​ .Repaint For i​Что нужно изменить​// 50 =​ хватает времени учебники​ файлов в коде.​3. сохраняю как​ чем впервые запускать​Примечание:​

  • ​ в файлах Office​ОК​На вкладке​ записи макросов в​ эта статья была​

  • ​ кнопкой «Запись макроса»​ этого существует макрорекодер,​ этим как раз​ пользователям, то нужно​ = 1 To​ что бы макрос​ xlExcel12 (Excel Binary​ читать. И в​ Мои названия поменяйте​ файл .xls (xlExcel8)​ записанный макрос, сохраните​ Первым символом имени макроса​Узнайте, как включать и​.​Разработчик​ Microsoft Excel. Представьте​

​ вам полезна. Просим​ на панели инструментов​

  1. ​ который запускается с​​ и работает макрос​​ загрузить его им​​ 100000000 Next sFolder​​ заработал из личной​​ Workbook in 2007-2010​​ Вашем коде многое​

    ​ на Ваши​

    ​Sheets(«Новый Заказ»).Copy Call​​ книгу или создайте​​ должна быть буква.​​ отключать макросы в​​Выполните действия, которые нужно​​в группе​​ имеют даты в​​ вас уделить пару​​ вкладки «Разработчик»:​

  2. ​ помощью кнопки «Запись​​ из файла A.xls)…точнее​​ в ту же​ = sFolder &​ книги макросов. Из​ with or without​ для меня -​

    ​_Igor_61​​ Delete_Macroses ActiveWorkbook. SaveAs FileName:=ПутьСохранения​ ее копию, чтобы​ Последующие символы могут​ файлах Office.​ записать.​Код​ форматах случайных и​ секунд и сообщить,​Абсолютный отсчет ячеек, всегда​ макроса».​ содержимое меняется…а путь​ папку у них?​ IIf(Right(sFolder, 1) =​ листа текущей книги​ macro’s, xlsb)​ темный лес. Например,​

  3. ​: Александр, здравствуйте! Но​ & «\» &​ предотвратить внесение нежелательных​​ быть буквами, цифрами​​Открытие редактора Visual Basic​На вкладке​нажмите кнопку​ вы хотите применить​​ помогла ли она​​ ведется с исходного​​В этом режиме все​​ расположения и название​Спасибо.​ Application.PathSeparator, «», Application.PathSeparator)​ отрабатывает корректно. Прикрепленные​// 56 =​ я не знаю,​ тогда пользователю нужно​ Fname, FileFormat:=xlExcel8, Password:=»»,​​ изменений. Если вас​​ или знаками подчеркивания.​Нажмите клавиши​Разработчик​Запись макроса​ ко всем адресам​

  4. ​ вам, с помощью​​ положения (адрес ячейки​​ действия пользователя макрорекодер​ файла B.xls остаются​P.S. сейчас сижу​

    ​ ‘отключаем обновление экрана,​ файлы 2017-10-07_193636.png (3.59​​ xlExcel8 (97-2003 format​​ какую роль выполняет​ лезть в параметры,​ WriteResPassword:=»», ReadOnlyRecommended:=False, CreateBackup:=False​ не устраивают результаты​ В имени макроса​ALT+F11​в группе​.​ единый формат. Макрос​ кнопок внизу страницы.​ А1) – до​ в Excel записывает,​ прежними.​

  5. ​ за компьютером, где​​ чтобы наши действия​​ КБ)​ in Excel 2007-2010,​ $ в названиях​

    ​ ставить доверенный доступ​Этой процедурой удаляю​ выполнения макроса, вы​ не должно содержаться​.​Код​-ИЛИ-​ сделать это за​ Для удобства также​ адреса курсора с​ переводя на язык​Юрий М​

  6. ​ Excel 2013.​ не мелькали Application.ScreenUpdating​​Юрий М​​ xls)​

  7. ​ переменных sfName, также​ и перезапускать приложение,​

  8. ​ макросы (пытаюсь)​​ можете закрыть книгу,​​ пробелов; в качестве​​Поиск справки по использованию​​нажмите кнопку​​Нажмите​

    ​ вас. Запись макроса,​

    ​ приводим ссылку на​

    ​ вашими данными. Если​​ программирования VBA-код в​​: Вы говорите «Нет»,​​Manyasha​​ = False sFiles​​: Игорь, всё верно.​​// 57 = PDF​​ не понимаю, как​​ что для пользователя,​

Работа с макросами, записанными в Excel

​Sub Delete_Macroses() Dim​​ не сохраняя ее.​​ разделителей слов следует​​ редактора Visual Basic​​Остановить запись​ALT​ применив нужный формат​ оригинал (на английском​​ вы сохранили ваш​​ автоматическом режиме. После​ а из ответа​​:​​ = Dir(sFolder &​

​_Igor_61​​// 60 =​ и почему одной​ думаю не очень​ oVBComponent As Object,​Ниже приведены дополнительные сведения​ использовать знаки подчеркивания.​Узнайте, как найти справку​.​+​ и затем воспроизводить​ языке) .​

​ макрос в книге​ завершения записи мы​ следует «Да» :-)​

​iilfat​

​ «*№*.xlsm») Do While​












​: Юрий М, спасибо!​ xlOpenDocumentSpreadsheet OpenDocument Spreadsheet​

​ и той же​ удобно. Поэтому по-моему​ lCountLines As Long​

​ о работе с​

​ Если используется имя​ по элементам Visual​-ИЛИ-​T​ макроса при необходимости.​Создать макрос в Excel​ личных макросов (рекомендуется​

​ получаем готовую программу,​

​ Каждый раз после​, а сохранить в​ sFiles <> «»​RAN​

​_Igor_61​ переменной (стр.4 и​

​ проще это все​ ‘Проверяем, защищен проект​ макросами в Excel.​ макроса, являющееся ссылкой​ Basic.​Нажмите​+​Windows MacOS ​

​ можно, запустив средство​ так и делать),​

  1. ​ которая сама выполняет​ обработки файл B.xls​ Эта Книга Вас​ ‘открываем книгу Workbooks. Open​: sfName1 = ThisWorkbook​: Блин, как же​ 5) можно присвоить​​ сделать просто пересохранением​​ или нет For​

  2. ​Задача​​ на ячейку, может​​С помощью редактора Visual​ALT​

​M​

​При записи макроса все​ записи макросов или​ то вы можете​ те действия, которые​ сохраняется с новым​

​ не устроило?​ sFolder & sFiles​

​ActiveWorkbook​ я люблю этот​ разные значения (или​

​ файлов, а потом​ Each oVBComponent In​

​Описание​ появиться сообщение об​ Basic (VBE) вы​

​+​

​+​​ необходимые действия записываются​​ с помощью редактора​

​ использовать свою программу​ выполнял пользователь при​

​ именем. Покажите Ваши​Макрос будет доступен​ ‘действия с файлом​

Работа с записанным кодом в редакторе Visual Basic (VBE)

​.FullName​ форум! Каждый раз​ это функции -​ лишний файл удалить.​ ActiveWorkbook.VBProject.VBComponents On Error​Включение и отключение макросов​ ошибке, указывающее на​ можете добавлять в​T​R​ в виде кода​ Visual Basic для​ на других листах​ записи.​ файлы. Предварительно ознакомьтесь​ всем пользователям, у​ Sheets(«Приложение № 7​……………………………………..​ какое-то «ВАУ» для​

​ не знаю), ну​ ИМХО, конечно​ Resume Next With​Узнайте, как включать и​ недопустимое имя макроса..​

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

​ записанный код собственные​+​

  • ​.​ Visual Basic для​ приложений (VBA). После​ с аналогичными данными.​Как записать готовый макрос​ с Правилами.​ кого есть Ваш​ «).Select ActiveSheet.Unprotect ‘снимаем​ActiveWorkbook​

  • ​ себя нахожу! Юрий​ и т. д. -​Александр П.​ oVBComponent Select Case​ отключать макросы в​

  • ​В списке​ переменные, управляющие структуры​M​В поле​ приложений (VBA). Такими​ создания макроса следует​ Независимо от того,​ в Excel? Очень​vfr800​ файл.​ блокировку с листа​. Sheets(Array(1, 3)).Copy​ М, спасибо большое!​ короче, мне в​: _Igor_61, ну так,​ .Type Case 1​

​ Excel для Mac.​Сохранить в​​ и другие элементы,​​+​Имя макроса​ действиями может быть​

  1. ​ сохранить его для​​ где ваш курсор​​ просто:​​: Простите мою необознанность…как-никак​​А Вы запишите​​ Cells.Select ‘выделяем весь​​……………………………​

  2. ​ Сохранил Ваши пояснения,​​ этом коде понятны​​ наше дело предложить​​ ‘Модули .Collection.Remove oVBComponent​​Создание, выполнение, изменение или​​выберите книгу, в​​ которые не поддерживает​R​​введите название макроса.​​ ввод текста или​

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

  1. ​На вкладке «Разработчик» нажимаем​​ новичек я во​​ сначала какой-нибудь макрос​​ лист Selection.Copy ‘Копируем​​RAN​

  2. ​ они очень пригодятся​​ только строки после​​ вариант​ Case 2 ‘Модули​ удаление макроса ​ которой вы хотите​ средство записи макросов.​

    ​.​​ Сделайте имя понятным,​ чисел, выбор ячеек​ в текущей или​ начинаете запись макроса!​ кнопку «Запись макроса».​ всем этом. Вообщем​ с сохранением в​ Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,​: _Igor_61,​ в дальнейшем. Не​ «Next», и то​.​ Класса .Collection.Remove oVBComponent​Чтобы сэкономить время на​ сохранить макрос.​ Так как средство​

  3. ​На вкладке​​ чтобы можно было​​ или команд на​ в других книгах.​ Даже если он​

    ​В появившимся диалоговом окне​ суть такова: открываем​​ личную книгу, а​​ SkipBlanks _ :=False,​F1, Search results​ знал, что части​ не все, например,​У ТСа так​ Case 3 ‘Формы​ выполнении часто повторяющихся​Как правило, макросы сохраняются​ записи макросов фиксирует​Разработчик​ быстро найти нужный​ ленте или в​Если понадобится использовать макрос​ уже находится в​ заполняем параметры макроса. ​ во вложении файл​ потом ищите ее​ Transpose:=False ‘ вставляем​ for enumeration​ кода можно цифрами​ не знаю что​ же, может быть​

  4. ​ .Collection.Remove oVBComponent Case​ задач, можно записать​ в​​ почти каждый шаг,​​щелкните​ макрос.​ меню, форматирование ячеек,​ только в той​ ячейке A1, ваш​ И нажимаем «ОК».​ «Прога.xls»…в ней макрос​ (Personal.xlsb):​ в лист значения​Николай​ задавать (хотя, нет,​ значат «51» и​

  5. ​ только 2003 версия​​ 100 ‘ЭтаКнига, Листы​​ соответствующую последовательность действий​той же книге​ выполняемый во время​

    ​Макросы​Примечание:​ строк или столбцов​ книге, где он​ первый макрос лучше​После завершения нажимаем на​ на кнопке «Нажми​C:\Users\Марина\AppData\Roaming\Microsoft\Excel\XLSTART​ за место формул​: Кнопка цитирования не​ пример уже знаю​ «56», ну и​ офиса, без конвертера.​ lCountLines = .CodeModule.CountOfLines​ в виде макроса.​

  6. ​, но если вам​ записи, может также​​, чтобы просмотреть макросы,​​ Первым символом имени макроса​

  7. ​ и даже импорт​ был создан, нажмите​

  8. ​ записывать после нажатия​​ кнопку «Остановить запись»,​​ тут»…после выполнения макроса​​(у меня win8,​​ Range(«A1»).Select Sheets(«Приложение №​

Работа с макросами, записанными в Excel

​ для ответа [МОДЕРАТОР]​​ — в MsgBox​​ т.д. не буду​​ Тогда в .xlsx​​ .CodeModule.DeleteLines 1, lCountLines​ Узнайте, как создавать​ нужно, чтобы данный​ потребоваться удалить ненужный​​ связанные с книгой.​​ должна быть буква.​

​ данных из внешнего​​ кнопку​ клавиш должны быть​ после чего макрос​ открывается файл «Зразок.xls»​ на 7-ке также​ 3 «).Select ActiveSheet.Unprotect​sfName1 = ActiveWorkbook.FullName​ 64, 32, 48),​ все перечислять, т.к.​ он не сможет​ End Select End​

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

​ Кроме того, можно​

​ Последующие символы могут​










​ источника, такого как​

​Сохранить​ Ctrl + Home.​ будет автоматически сохранен.​

​ который нужно сохранить​ вроде)​

​ Cells.Select Selection.Copy Selection.PasteSpecial​Оказалось достаточно, работает.Но​ это, видимо, что-то​ для каждого моего​ сохранять. А так,​ With Next Set​Копирование модуля макроса в​

​ доступен при работе​ кода — отличный​

​ нажать клавиши​ быть буквами, цифрами​ Microsoft Access. Visual​или​Пример: Представьте себе, что​Для выполнения или редактирования​ в директории «…\Обробка»​iilfat​

​ Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks​ изменил и​

  1. ​ подобное, если правильно​ вопроса придется делать​ была уже похожая​ oVBComponent = Nothing​ другую книгу​ в Excel, выберите​ способ научиться программировать​​ALT+F8​​ или знаками подчеркивания.​

  2. ​ Basic для приложений​​Сохранить как​​ каждый месяц вы​ записанного макроса нажимаем​

​ с именем 1…99.xls​

​:​ _ :=False, Transpose:=False​ActiveWorkbook. Sheets(Array(1, 3)).Copy​ понимаю. Т.е. вместо​ отдельную тему​

​ тема на форуме.​ End Sub​

​Если книга содержит макрос​ вариант Личная книга​ на VBA или​

​. При этом откроется​

​ В имени макроса​​ (VBA) является частью​​так же, как​​ получаете десятки таблиц​​ на кнопку «Макросы»​​ каждый раз имя​​Manyasha​​ Range(«A1»). Select Sheets(«Титульный»).Select Range(«A1»).Select​​Работает.​​ «xlOpenXMLWorkbook (without macro’s​​Ради интереса попробовал​

​sokol92​В результатеФайл занимает 52​

​ VBA, который нужно​ макросов. Если вы​ отточить свои навыки.​

support.office.com>

VBA. Как сохранить книгу без макросов в формате .xls

​ диалоговое окно​​ не должно содержаться​
​ языка программирования Visual​ при обычном сохранении.​ из всех филиалов.​ (или комбинацию клавиш​
​ должно быть +1…надеюсь​, спасибо большое)​ Sheets(«Микроучасток»).Select Range(«Таблица1[[#Headers],[№ п.п]]»).Select​Адаптирую под свои​ in 2007-2010, xlsx)​
​ поместить Ваш код​: Уважаемый PATRI0T, в​ КБ, а не​
​ использовать где-либо еще,​ выберете этот параметр,​
​Пример изменения записанного кода​
​Макрос​ пробелов; в качестве​ Basic. Он доступен​ Но сохранение книги​ От вас требуется​ ALT+F8). Появится окно​
​ более-менее правильно ответил​olpit​
​ ActiveWindow.Zoom = 100​ нужны отпишу.​
​ » пишем «51»​ в файл xls,​ приложенном к сообщению​ 9, как если​ этот модуль можно​
​ Excel создаст скрытую​ можно найти в​
​.​ разделителей слов следует​ в большинстве приложений​ с макросами происходит​ организовать данные и​ со списком записанных​ о объяснил:)…П.С.: макрос​: как создать макрос​ ‘Преорбазуем таблицы в​Николай​ и выполняется это​ ошибка 400, новая​ файле макросов нет,​ бы я сохранил​ скопировать в другую​ личную книгу макросов​ статье Начало работы​Внимание:​ использовать знаки подчеркивания.​ Office. Хотя VBA​ несколько иначе, поскольку​ рассчитать показатели, чтобы​​ макросов и кнопками​ слеплен «из того​ на сохранение файла​ диапазоны Dim sh2​: На тестовой книге.​ действие, так? И​
​ книга с копируемым​ зато есть два​ его вручную в​

​ книгу с помощью​ Personal.xlsb (если она​
​ с VBA в​
​ Макросы нельзя отменить. Прежде​ Если используется имя​ позволяет автоматизировать процессы​ необходимо использовать специальный​ произвести еще один​ для управления ими.​
​ что было» и​ с заданным именем,​ As Worksheet Dim​Ошибка в строке​ я так понимаю,​
​ листом создается, но​ «битых» имени книги.​ формат .xls​ редактора Microsoft Visual​

​ еще не существует)​ Excel.​ чем впервые запускать​

​ макроса, являющееся ссылкой​​ в приложениях Office​
​ формат файла «с​ ежемесячный отчет. Вы​С помощью макропрограмм можно​ того что выдал​ чтобы имя состояло​

​ iObj As ListObject​ActiveWorkbook.SaveAs sfName1, 51​ что RAN своим​ код в модуле​

​ Удалите их через​​И при открытии​ Basic.​ и сохранит макрос​Перед записью макросов полезно​
​ записанный макрос, сохраните​ на ячейку, может​ и между ними,​ поддержкой макросов». Поэтому​ можете записать макрос​ увеличить производительность труда​

​ гугль…поэтому просьба громко​​ из значения заданной​ For Each sh2​При этом сохранение​ кодом вносит изменения​ листа остается.​ «Диспетчер имен» и​ всплывает сообщение «включить​Назначение макроса объекту, фигуре​ в нее. Книги​ знать следующее:​ книгу или создайте​ появиться сообщение об​ вам не нужно​ при попытке сохранить​ для выполнения всех​ пользователя в десятки​
​ не смеятся)))​ яейки и даты,​ In Worksheets For​ новой книги происходит.​
​ в XML? Дальше​А ТС пока​ проблема с открытием​ содержимое».​ или графическому элементу​

​ из этой папки​​Макрос, записанный для работы​ ее копию, чтобы​ ошибке, указывающее на​ уметь программировать или​ макрос Excel предложит​ этих функций, в​ раз. Но чтобы​Файл удален​ например, qwert19102010.xls​ Each iObj In​Вот код.​ — вообще не​ так и молчит​

​ должна уйти.​​Что не так?​На листе щелкните правой​ автоматически открываются при​

​ с диапазоном Excel,​
​ предотвратить внесение нежелательных​ недопустимое имя макроса..​ знать язык VBA,​ два варианта:​ том числе открытие​ использовать запись пользовательских​- велик размер​Заранее спасибо​ sh2. ListObjects iObj.Unlist Next​

​Sub кол_вх() Dim​​ понимаю — ведь​ — из какой​_Igor_61​ Что не удаляется?​ кнопкой мыши объект,​ каждом запуске Excel,​ будет выполняться только​ изменений. Если вас​Чтобы назначить сочетание клавиш​

​ так как все​​Сохранить в виде книги​ и соединение всех​ макросов на все​ — [​R Dmitry​ Next ‘Макрос сохранения​ s As String,​ если открыть файл​ версии ему в​: Да, если это​Вопрос.​ рисунка, фигуры или​ а макросы, сохраненные​ для ячеек этого​

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

​ нужные действия выполнит​ с поддержкой макросов​ листов в одну​ 100% следует соблюдать​МОДЕРАТОРЫ​: а поиск или​ книги со старым​

​ fldr As String​​ через WinRAR, там​ xls нужно сохранять​ так, то не​А можно ли​
​ элемент, к которому​ в таких книгах,​ диапазона. Поэтому если​ выполнения макроса, вы​ в поле​ средство записи макросов.​ (XLSM-файл), выбрав​ комбинированную таблицу.​ простые правила, которые​]​ макрорекордер не помогает?​ именем и новым​ fldr = «D:\111\»​ же куча папок​Юрий М​ удивительно, что у​ сохранить заявку из​ нужно назначить существующий​ указываются в окне​ вы добавите в​ можете закрыть книгу,​Сочетание клавиш​Важно знать, что при​Нет​Используйте кнопки со стрелками​

​ существенно влияют на​​Юрий М​Sub Макрос1()​ расширением xlsx Dim​

​ s = Dir(fldr​ и файлов XML,​: $ в имени​ него мой макрос​ этого файла без​ макрос и выберите​ «Макрос» (см. следующий​ диапазон новую строку,​ не сохраняя ее.​введите любую строчную​ записи макроса регистрируются​.​ для управления курсором​ их качество в​: Я же просил:​Dim a$, d$​ sfName1$ Dim sh​ & «*.xls») Do​ т.е. в данном​ переменной — это​ не работает, если​ макросов, не прибегая​ команду​ раздел).​ макрос не будет​Ниже приведены дополнительные сведения​ или прописную букву.​ почти все ваши​Сохранить в виде книги​ (Ctrl + Up,​ момент записи и​При таком Вашем​a = Cells(1,​ As Worksheet, nm​ While s ​ случае через «51»​ тип (аналог as​ он его в​
​ к обращению к​Назначить макрос​Чтобы назначить сочетание клавиш​ применяться к ней. ​ о работе с​ Рекомендуется использовать сочетания​ действия. Поэтому если​ без поддержки макросов,​
​ и т.п.). Позиционируйте​ эффективность при выполнении.​ отношении тему покидаю.​ 1) ‘a1 name​ As Name sfName1​

​ «» With Workbooks.Open(fldr​​ производятся манипуляции с​ String). Вот табличка​ xls помещает. Но​ объектной модели?​.​
​ для запуска макроса,​
​Если вам нужно записать​
​ макросами в Excel.​
​ клавиш с​
​ вы допустите ошибку,​
​ выбрав​
​ курсор, так чтобы​​vfr800​d = Cells(2,​ = ActiveWorkbook.FullName sfName1​ & s) Dim​ конкретным XML файлом,​ соответствий:​ почему-то он про​Т.к. этот файлик​
​В поле​ в поле​ длинную последовательность задач,​
​Задача​
​CTRL​ например нажмете не​

​Да​
​ вы могли добавить,​5 простых советов, которые​
​: Простите, исправился!Может дадите​ 1) ‘a2 data​
​ = Replace(sfName1, «xlsm»,​ sfName1$, sfName2$ Dim​
​ «51» его находит​Integer — %​
​ этот момент молчит.​ рассылается клиентам, и​
​Назначить макроса​Сочетание клавиш​
​ советуем вместо этого​Описание​
​+​ ту кнопку, средство​
​.​ изменить или удалить​
​ помогут в создании​ последний шанс на​
​ActiveWorkbook.SaveAs Filename:= _​ «xlsx») Application.ScreenUpdating =​
​ sh As Worksheet,​ и выполняет свою​Long — &​ А я решил,​
​ нужно обязательно делать​выберите макрос, который​введите любую строчную​
​ использовать несколько более​Изменение параметров безопасности макросов​SHIFT​ записи макросов зарегистрирует​
​Чтобы сохранить макрос как​ данные внутри таблицы​ макросов без программирования.​ помощь?​»C:\» & a​
​ False Application.CopyObjectsWithCells =​ nm As Name​ задачу?​Single — !​

​ что у него​
​ соотв. настройки у​ вы хотите назначить.​

​ или прописную букву.​​ мелких макросов.​ в Excel​, так как они​ это действие. В​ книгу с поддержкой​ по мере необходимости.​ Воспользуйтесь этими простыми​Сварог​ & d &​ False ActiveWorkbook. Sheets(Array(1, 2,​ sfName1 = ActiveWorkbook.FullName​Юрий М​Doble — #​ изначальный файл в​ них..​Назначение макроса кнопке​ Рекомендуется использовать сочетания​В макросе могут содержаться​Сведения о параметрах безопасности​ будут заменять собой​ таком случае можно​ макросов,​Использование мыши для навигации​ советами, которые позволяют​: У меня та​ «.xls»​ 3, 5)).Copy ‘Преобразование​ sfName1 = Replace(sfName1,​: XML тут нет​Currency — @​ xlsm, глядя на​А клиенты разные​Вы можете назначить макрос​ клавиш, которые еще​ и задачи, не​ макросов и их​ совпадающие с ними​ снова записать всю​щелкните​ является более сложным​

​ быстро и просто​​ же ситуация. Жду​End Sub​ формул в значения,​ «xlsm», «xlsx») sfName2​

​ ) Просто заменяем​​String — $​​ картинку​​ и нервные.. Можно​ значку и добавить​ не назначены другим​ относящиеся к Excel.​ значении.​

​ стандартные сочетания клавиш​​ последовательность или изменить​Нет​ и не так​ создавать качественные макропрограммы​ ответа вместе с​

​vfr800​​ не всегда работает​ = Left(sfName1, Len(sfName1)​ длинную строку числом​По поводу строк​LAD​ ли как-то этого​ его на панель​ командам, так как​ Процесс макроса может​Запуск макроса​ в Excel, пока​ код VBA. Поэтому​.​ надежным в момент​
​ автоматически:​ vfr800. А пока​: Доброго времени суток​ корректно, оставил просто​ — 1) Application.ScreenUpdating​ )​ 4 и 5:​

​:​​ избежать?​
​ быстрого доступа или​ они будут переопределять​
​ охватывать прочие приложения​Макросы можно запускать различными​ открыта книга, содержащая​
​ перед записью процесса​В окне​
​ записи. Когда дело​
​Присваивайте макросам короткие, но​
​ полажу в его​
​ всем! Не хотел​ так. For Each​ = False Application.CopyObjectsWithCells​_Igor_61​ сначала получили путь,​Вы копируете лист со​_Igor_61: Можно. Побаловался макрорекордером​ ленту.​

​ совпадающие с ними​​ Office и другие​

​ способами, например с​​ макрос. Например, если​

​ следует хорошо проработать​​Сохранить как​​ доходит до макросов,​​ содержательные имена. Когда​
​ файле.​
​ плодить новую тему,​​ sh In ActiveWorkbook.Worksheets​
​ = False ActiveWorkbook.Sheets(Array(1,​

​: xlOpen​​ а потом в​
​ всеми потрохами. Копируйте​ и у меня​

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

​ но поиск тоже​​ sh.UsedRange.Value = sh.UsedRange.Value​
​ 2, 3, 4)).Copy​
​XML​
​ этой строке произвели​ только то, что​
​ получилось​
​ управления на листе​ в Excel, пока​ Visual Basic для​ графического объекта, панели​CTRL+Z​ вы запишете последовательность,​Тип файла​ только для вызова​ со временем вам​ возможности в программе​ прошерстил и не​ Next ‘Удаление именнованных​ For Each sh​Workbook — тогда это​ замену: xlsm заменили​ Вам нужно. Сделайте​PATRI0T​Вы можете назначать макросы​ открыта книга, содержащая​ приложений (VBA). Например,​ быстрого доступа, кнопки​(Отменить), вы не​ тем более эффективно​выберите​ меню.​ придется создавать много​ Excel. Они автоматизируют​ нашел ответа на​ диапазонов показать по​ In ActiveWorkbook.Worksheets sh.UsedRange.Value​ просто указание на​ на xlsx. В​ новый лист и​: Спасибо за ответ​ формам и элементам​ макрос.​ вы можете записать​
​ или даже при​
​ сможете использовать его​ будет работать макрос.​Книга Excel с поддержкой​Держите ваши макросы для​

​ макросов. При выборе​​ рабочие процессы и​
​ свой вопрос. А​
​ ctrl+F3 For Each​ = sh.UsedRange.Value Next​ книгу xlsx 2007-2010,​
​ принципе можно было​

​ на него скопируйте​​Только я ничего​ ActiveX на листе.​В поле​
​ макрос, который сначала​ открытии книги. ​ для функции «Отменить»​Макросы и средства VBA​ макросов​ небольших специфичных задач.​ в диалоговом окне​ берут большую часть​ вопрос заключается в​ n In ActiveWorkbook.Names:​ For Each nm​ этим кодом ее​ и в одной​ диапазон ячеек.​ не понял, почему​Открытие редактора Visual Basic​Описание​ обновляет таблицу в​Изменение макроса​ в данном экземпляре​ находятся на вкладке​.​ Чем больше программный​ их легче найти​ рутинной работы пользователя​ следующем: есть файл​ On Error Resume​ In ActiveWorkbook.Names nm.Delete​ открываем?​ строке сделать.​RAN​ у меня не​На вкладке​при необходимости введите​ Excel, а затем​С помощью редактора Visual​ Excel.​Разработчик​Нажмите кнопку​ код в макросе,​ с короткими и​ на себя. Просто​ А.xls в директории​ Next n.Delete: Next​ Next Application.DisplayAlerts =​Юрий М​51 и 56​: _Igor_61, Вставьте это​ работает. Вроде код​Разработчик​ краткое описание действий​ открывает Outlook для​ Basic можно изменять​В списке​, которая по умолчанию​Сохранить​ тем медленнее он​ содержательными названиями. Система​ нужно научится пользоваться​ «C:\Папка1″…в файле запускается​ Application.DisplayAlerts = False​ False ActiveWorkbook.SaveAs sfName1,​: Нет, открываем по​ — это константы​ в модуль копируемого​ такой же​щелкните​ макроса.​ ее отправки по​ макросы, присоединенные к​Сохранить в​ скрыта, поэтому сначала​.​ работает, особенно если​ VBA предоставляет вам​ макросами и производительность​ макрос, который открывает​ ActiveWorkbook.SaveAs sfName1, 51​ 51 ActiveWorkbook.Close False​ имени, а это​ типов файлов.​ листа, и вау​А зачем это?​Visual Basic​Хотя это необязательная в​ электронной почте.​ книге.​выберите книгу, в​ нужно включить ее.​Чтобы макросы были доступны​ это требуется для​ возможность указать описание​ труда возрастет в​ и изменяет файл​ ActiveWorkbook.Close False Application.DisplayAlerts​ Workbooks.Open sfName1 ActiveWorkbook.SaveAs​
​ указание ТИПА файла​===​ съедят мыши.​

​ Kill Addr &​​или выберите​ поле Описание, рекомендуется​Макросы и средства VBA​

planetaexcel. ru>

Сохранить макрос в Excel 2013 (Иное/Other)

​Копирование модуля макроса в​​ которой вы хотите​
​ Дополнительные сведения см.​ при каждом запуске​ выполнения многих функций​ к имени. Обязательно​ десятки раз!​ В.xls и после​ = True Application.CopyObjectsWithCells​ sfName2, 56 ActiveWorkbook.Close​ — книга без​// константы форматов​
​Sub Мяу() Dim​ «Файл без макросов​Сервис​ введите один. Полезно​ находятся на вкладке​ другую книгу​ сохранить макрос.​ в статье Отображение​
​ Excel, создайте их​
​ или рассчитать много​ используйте ее.​Вам даже не нужно​

​ внесенных изменений файл​​ = True ‘Закрываем​​ False Kill sfName1​​ макросов.​ 2003​ sfName1$, sfName2$ Dim​
​ 2007.xlsx​>​ введите понятное описание​Разработчик​
​Если книга содержит макрос​Как правило, макросы сохраняются​ вкладки «Разработчик».​ в книге «Personal.xlsb».​ формул в большой​Имя макроса обязательно должно​
​ быть программистом и​​ B.xls нужно сохранить​ книгу с сохранением​ Application.DisplayAlerts = True​

​_Igor_61​​// xlCSVWindows = 23;​​ sh As Worksheet,​​Александр П.​

excelworld.ru>

как создать макрос на сохранение файла с заданным именем

​Макрос​​ сведениями, которые могут​, которая по умолчанию​ VBA, который нужно​ в расположении​Перед записью макросов полезно​ Это скрытая книга​ электронной таблице.​
​ начинаться с букв​

​ знать язык программирования​​ в «C:\Папка2» с​ изменений ActiveWorkbook.Close False​

​ Application.CopyObjectsWithCells = True​
​: А, кажется понял:​
​// xlDBF2 =​ nm As Name​
​: PATRI0T, Код ниже​>​
​ быть полезны для​
​ скрыта, поэтому сначала​ использовать где-либо еще,​Эта книга​
​ знать следующее:​

​ на вашем компьютере,​​Если вы запустите каждый​ и не может​ «VBA» чтобы создавать​ именем 1.xls, при​ ‘если поставить False​ .Close 0 End​ ActiveWorkbook.SaveAs sfName1, 51​ 7;​ sfName1 = ThisWorkbook. FullName​ удаляет весь код​Редактор Visual Basic​ вас или других​ нужно включить ее.​ этот модуль можно​, но если вы​Макрос, записанный для работы​ которая открывается при​ процесс отдельно, вы​ содержать пробелы, символы​ свои макро-программы с​ чем у меня​ — книга будет​ With s =​ — сохраняем активную​// xlDBF3 =​ sfName1 = Replace(sfName1,​ во всех модулях​.​ пользователей, которые будут​Выберите​ скопировать в другую​ хотите, чтобы макрос​ с диапазоном Excel,​ каждом запуске Excel.​ можете быстро просмотреть​ или знаки препинания.​ помощью инструмента записи​ проблемма с циклом.​ закрыта без сохранения​ Dir Loop End​ книгу с заданным​ 8;​

​ «xlsm», «xlsx») sfName2​​ активной книги.​Поиск справки по использованию​ выполняться макрос. При​Excel​ книгу с помощью​

​ был всегда доступен​​ будет выполняться только​ Для получения сведений​ результаты для проверки​ После первого символа,​ макросов.​ Его нужно написать​ sFiles = Dir​ Sub​ именем (sfName1) в​

​// xlDBF4 =​​ = Left(sfName1, Len(sfName1)​Sub test() Set​ редактора Visual Basic​ создании много макросы,​>​ редактора Microsoft Visual​ при работе в​ для ячеек этого​ о выполнении этих​

​ точности их выполнения.​​ вы можете использовать​Сначала надо включить панель​ таким образом чтоб​ Loop ‘возвращаем ранее​И скрин ошибки.​ xlsx (xlOpenXMLWorkbook (without​ 11;​ — 1) Application.ScreenUpdating​ VBComp = ActiveWorkbook.VBProject.VBComponents​Узнайте, как найти справку​ описание помогут вам​Параметры​ Basic.​ Excel, выберите пункт​ диапазона. Поэтому если​ действий см. статью​Если нельзя разбить длинный​ больше букв, цифр​ разработчика. Для этого​ в «C:\Папка2» файлы​ отключенное обновление экрана​
​Файла Книга1.xls в​​ macro’s in 2007-2010,​// xlDIF =​​ = False Application.CopyObjectsWithCells​​ For Each cl​

​ по элементам Visual​​ быстро определять, какие​
​>​Назначение макроса объекту, фигуре​

​ Личная книга макросов.​ вы добавите в​ Создание и сохранение​ макрос на короткие​

​ или нижнее подчеркивание,​​ в меню «Файл»​ были именно с​ Application.ScreenUpdating = True​ каталоге НЕТ. Прикрепленные​ xlsx) . И​ 9;​

planetaexcel.ru>

Как работать с макросами в Excel 2010 без программирования кода

​ = False Sheets(Array(1,​ In VBComp cl.CodeModule.DeleteLines​ Basic.​ макрос по исполнителям,​Лента и панель​ или графическому элементу​ Если выбрать этот​ диапазон новую строку,​ всех макросов в​ приложения, а требуется​ но максимальная длина​

​ открываем группу опций​ именами 1.xls…2.xls…99.xls(файлов около​ .Label1.Caption = «ГОТОВО»​ файлы 2017-10-07_214428.png (3.53​ равнозначно — можно​// xlExcel9795 =​ 3)).Copy For Each​

​ 1, cl.CodeModule.CountOfLines Next​PATRI0T​ в противном случае​.​На листе щелкните правой​ вариант, Excel создаст​ макрос не будет​ одной книге.​ проверить его функциональность​ имени составляет 80​ «Параметры». В появившемся​ 100шт.)Подскажите плиз как​ End With End​ КБ)​ записать текстом «xlOpenXMLWorkbook​

​ 43;​ sh In ActiveWorkbook.Worksheets​ End Sub​: Добрый день.​ может потребоваться угадать.​В категории​ кнопкой мыши объект,​

Применение VBA и макросов в Microsoft Excel

​ скрытую личную книгу​ применяться к ней.​Примечание:​ пошагово («отладкой»). Нажмите​ символов.​ окне «Параметры Excel»​ правильно реализовать такой​ Sub​Николай​ (without macro’s in​// xlTextWindows =​ sh.UsedRange.Value = sh.UsedRange.Value​

​_Igor_61​В Excel сделал​Чтобы начать запись макроса,​Настроить ленту​ рисунка, фигуры или​ макросов Personal.xlsb (если​Если вам нужно записать​ Мы стараемся как можно​ клавишу F8 каждый​Абсолютный адрес ячейки –​ открываем группу «Настройка​ цикл макросом?В VBA​

​Огромная благодарность RAN,​: Опа.​ 2007-2010, xlsx», а​

  1. ​ 20;​ Next For Each​
  2. ​: Покажите Ваш файл​ небольшую форму для​ нажмите кнопку​
  3. ​в списке​ элемент, к которому​ она еще не​ длинную последовательность задач,​
  4. ​ оперативнее обеспечивать вас​ раз, когда вы​ это точное местонахождение​ ленты». Обратите внимание​ не силен, а​ за его код​Удаление строк​ можно «51». Я​

​// xlUnicodeText =​ nm In ActiveWorkbook.Names​ с кодом, который​ приема заказов на​ОК​Основные вкладки​ нужно назначить существующий​ существует) и сохранит​ советуем вместо этого​ актуальными справочными материалами​ хотите перейти к​ курсора, когда информация​

​ на правую колонку​

Как работать с макросами в Excel

​ штопаю макросы макроредактором(а​ сохранения файлов.​Workbooks.Open sfName1 ActiveWorkbook.SaveAs​ правильно понимаю?​ 42;​ nm.Delete Next Application.DisplayAlerts​ не работает. Смею​ мебельном производстве.​

1 Правильные имена в макросах.

​.​установите флажок​ макрос и выберите​ макрос в ней.​ использовать несколько более​ на вашем языке.​ следующему шагу выполнения​ о его размещении​ настроек под аналогичным​ там жесткая привязка​LAD​ sfName2, 56 ActiveWorkbook.Close​Простите за навязчивость,​// xlWebArchive =​

​ = False ActiveWorkbook.SaveAs​ предположить, что Вы​И потом заявку​Выполните действия, которые нужно​Разработчик​ команду​В поле​ мелких макросов.​ Эта страница переведена​ задачи. Процесс выполнения​ записывается в макро-адреса​ названием «Настройка ленты».​

2 Используйте относительные (не абсолютные) адреса ячеек

​ к именам файлов​: Не думал, что​ False Kill sfName1​ просто хочу правильно​ 45;​ sfName1, 51 ActiveWorkbook.Close​ что-то не так​ нужно сохранить в​ записать.​, а затем нажмите​Назначить макрос​Описание​В макросе могут содержаться​ автоматически, поэтому ее​ программы останавливается, когда​ с жесткой привязкой​ В ней следует​ и книг), поэтому​

​ можно так сильно​Решило проблему.​ все уяснить для​// xlXMLSpreadsheet =​ False Workbooks.Open sfName1​ или не туда​ отдельном .xls файле​На вкладке​ кнопку​

3 Всегда начинайте запись с курсором в A1

​.​при необходимости введите​ и задачи, не​ текст может содержать​ он видит ошибку.​ к конкретной ячейке​ отметить галочкой опцию​ с синтаксисом написания​ извратить. ​Николай​ себя, чтобы все​ 46;​ ActiveWorkbook.SaveAs sfName2, 56​ вставили или что-то​ , для импорта​Разработчик​Сохранить​В поле​ краткое описание действий​ относящиеся к Excel.​ неточности и грамматические​ Вы можете исправить​ в момент записи.​ «Разработчик» как показано​ кода не дружу…огромная​

​iilfat​: Вот как стал​ правильно понимать и​// xlXMLData =​ ActiveWorkbook.Close False Kill​ не так сделали,​ в другую программу.​щелкните​.​Назначить макроса​ макроса.​ Процесс макроса может​ ошибки. Для нас​ ошибку, которую легко​ Абсолютные адреса ограничивают​ ниже на рисунке:​

4 Всегда перемещаться с клавиш направления в момент записи макроса

​ просьба помочь ну​: Здравствуйте.​ выглядеть код в​ в дальнейшем правильно​ 47;​ sfName1 Application.DisplayAlerts =​ а так же​Код макроса содержится​Остановить запись​

​Чтобы записать макрос, следуйте​выберите макрос, который​Хотя поле «Описание» является​ охватывать прочие приложения​ важно, чтобы эта​ найти с помощью​ возможности макроса, если​Теперь нам доступна на​ или хоть указать​

5 Создавайте макросы для конкретных небольших задач

​Как в Excel​ итоге.​ использовать, если понадобится​// основные константы​ True Application.CopyObjectsWithCells =​ невнимательно посмотрели код,​ на листе +​.​ инструкциям ниже.​ вы хотите назначить.​ необязательным, рекомендуется его​

​ Office и другие​ статья была вам​ «отладки» или записать​ будут добавляться /​ ленте новая закладка​

​ направление в каком​ сохранить макрос? Я​Sub Микро_на_сдачу() Dim​Николай​ 2007​ True End Sub​ иначе не возникло​ отдельный модуль…​На вкладке​На вкладке​Назначение макроса кнопке​ заполнить. Кроме того,​ программы, которые поддерживают​ полезна. Просим вас​ по-новому.​ удаляться данные на​ «Разработчик» со всеми​

exceltable.com>

​ искать!С нетерпением жду​

Как сохранить файл в Excel перед закрытием подробное руководство с примерами

Автор Дмитрий Якушев На чтение 3 мин. Просмотров 1.3k.

Что делает макрос:  Этот макрос защищает от случайного закрытия файла перед сохранением. Он гарантирует, что Excel автоматически сохранит файл перед закрытием.

Excel обычно предупреждает пользователей, которые пытаются закрыть не сохраненную книгу, давая им возможность сохранить перед закрытием. Тем не менее, многие пользователи могут пропустить это предупреждение, случайно нажать кнопку «Нет».

С этим макросом Вы защитите свой файл от невнимательных пользователей.

Как это работает

Этот код запускается событием рабочей книги (BeforeClose- перед закрытием). При нажатии на кнопку Закрыть срабатывает событие и запускается макрос. Суть кода проста — он запрашивает у пользователя, действительно ли он хочет закрыть книгу

Макрос затем проверяет какую кнопку нажал пользователь ОК или Отмена. Оценка производится с помощью конструкции Select Case. Оператор Select Case является альтернативой в If … Then … Else, что позволяет выполнять проверки условий ваших макросов (обычно используется для большого количества условий).

Код макроса

Private Sub Workbook_BeforeClose(Cancel
As Boolean)Выведем сообщение с "ОК" или "Отмена"
Select Case MsgBox("Сохранить и закрыть?",vbOKCancel)
'Если нажал "Отмена", закрываем окно
Case Is = vbCancel
Cancel=True
'Если нажал "Да", то сохраняем книгу
Case Is=vbOK
ActiveWorkbook.Save
'Завершаем проверку, закрываем Select Case
End Select
End Sub

Как работает этот код

Давайте подробно рассмотрим каждую строчку кода

  1. На шаге 1 мы активируем окно c сообщением, где в качестве проверки используем оператор Select Case. Здесь мы используем аргумент vbOKCancel, чтобы на формочке отображались кнопки ОК и Отмена.
  2. Если пользователь нажал кнопку Отмена в окне сообщения, макрос говорит Excel: «Не выходим! Закрой событие!». Это делается путем присвоения переменной Cancel свойства True
    (Верно). Если пользователь нажал кнопку OK в окне сообщений, п. 3 вступает в силу.
  3. Здесь мы говорим Excel: «Сохранить книгу!». Здесь мы не пишем Cancel = True, поэтому событие успешно завершается.
  4. На шаге 4, мы просто закрываем Оператор Select Case.

Как использовать

Для реализации этого макроса, Вам нужно скопировать и вставить его в код события Workbook_BeforeClose. Размещение макроса здесь позволяет запускать макрос непосредственно перед закрытием excel-файла.

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. В окне проекта найдите свой проект/имя рабочей книги и нажмите на знак плюс рядом с ним в чтобы увидеть все листы и модуль ЭтаКнига.
  3. Правой кнопкой мыши нажмите на модуле ЭтаКнига и выберите View Code.
  4. В левой части окна выберите объект WorkBook (Excel автоматом предложит написать макрос для события Workbook_Open (можете позже удалить его за ненадобностью)
  5. В правом выпадающем списке свойство BeforeClose

Запись и сохранение макроса

Запись и сохранение макроса

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

• Невозможно записать в макрос операции, производимые за пределами вкладки правки, операции по созданию градиента, действия по оптимизации интерфейса пользователя или действия по созданию или редактированию профиля CMYK.

• Нельзя записать в макрос операции по перемещению, закреплению или упорядочению панелей инструментов, панелей и окон.

• В макрос можно внести операции для панелей «Материалы» и «Смешивание», а также операции по выбору элементов на панели «Параметры инструмента», однако их невозможно записать. Чтобы записать эти действия в макрос, следует использовать приложение текстового редактора.

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

• За исключением вышеперечисленного большинство других действий, доступных в программе PaintShop Pro, можно записать в макрос.

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

Ограниченные и доверенные макросы

Макросы в программе PaintShop Pro создаются на языке программирования Python, который, к сожалению, может также использоваться для создания и выполнения макросов, написанных со злым умыслом. В связи с такой потенциальной опасностью в программу PaintShop Pro включены две папки, автоматически создаваемые в двух разных каталогах во время установки, каждая из которых содержит файлы макросов отдельных режимов. Это следующие папки.

• Папка Макросы-ограниченные содержит макросы, не включенные в доверенную папку.

• Папка Макросы-доверенные содержит все доверенные макросы.

Эти папки имеют следующие пути.

• 32 бита — X:\Program Files (x86)\Corel\Corel PaintShop Pro 2021\Languages\[код языка] (где «x» обозначает диск, на котором установлено PaintShop Pro)

• 64 бита — X:\Program Files\Corel\Corel PaintShop Pro 2021 (64-bit)\Languages\[код языка]

• В папке пользователя: …Documents\Corel PaintShop Pro\2021

Когда макрос создается и сохраняется впервые, отображается подсказка о необходимости его сохранения с использованием надлежащего пути: …Documents\Corel PaintShop Pro\2021. После этого будет отображаться подсказка о необходимости сохранения в последнюю использованную папку.

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

Ниже приведены некоторые сведения об ограниченных макросах.

• Если макрос выполняется с использованием несконфигурированного пути, он рассматривается как ограниченный.

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

• Заготовки, образцы панели материалов и шаблоны макета печати (которые по существу являются макросами) рассматриваются как ограниченные.

Команды, которые нельзя использовать в ограниченном макросе

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

 

Команда

Местоположение в меню

FileSave

Файл  Сохранить

FileSaveAs

Файл  Сохранить как

FileSaveCopyAs

Файл  Сохранить копию как

GIFExport

Файл  Экспорт  Оптимизатор GIF

PNGExport

Файл  Экспорт  Оптимизатор PNG

JPEGExport

Файл  Экспорт  Оптимизатор JPEG

FileLocations

Файл  Настройка  Папки с файлами

FileClose

Файл  Закрыть

FileCloseAll

Файл  Закрыть все

FileSend

Файл  Отправить

BatchConvert

Файл  Пакетная обработка  Обработка

BatchRename

Файл  Пакетная обработка  Переименовать

Mapper

Файл  Экспорт  Переназначение изображения

Slicer

Файл  Экспорт  Делитель изображения

FileExit

Файл  Выход

Запись и сохранение макроса

Вкладка «Правка» 

1 Нажмите кнопку Начало записи макроса .

2 Выполните действия, содержащиеся в макросе.

3 Нажмите кнопку Сохранение записи макроса .

Откроется диалоговое окно «Сохранить как».

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

5 Введите имя макроса и нажмите кнопку Сохранить.

 

Дополнительные возможности

 

Удаление из макроса любых отмененных команд

В диалоговом окне «Сохранить как» установите флажок Удалить отмененные команды.

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

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

Отображение интерактивных диалоговых окон в их положениях во время записи

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

Добавление в макрос описательной информации

В диалоговом окне «Сохранить как» нажмите кнопку Описание и введите информацию в полях Автор, Авторские права и Описание. Вводимая информация отображается во время редактирования макроса.

excel — Как прикрепить макрос к файлу

От вариантов теоретических и вряд ли возможных до более реальных.

=== На компьютере установлена программа, отслеживающая копирование и удаляющая запретный для копирования макрос. Пора менять гражданство и уходить в подполье — за Вами неусыпно следят 🙂

=== Файл на флешку сохраняется с расширением .xlsx. Mакросы там не живут. Это насколько нужно быть «не в себе», чтобы файл перед копированием открыть и сохранить с другим расширением? Разновидность: копирование происходит не Copy/Paste, а программой, которая делает свое черное дело.

Более вероятные.

Открываем файл, нажимаем Alt+F8 (вызов окна макросов). В списке — перечень макросов с указанием места, где они прописаны. Для активной книги отображается только имя, без указания места расположения. Под перечем — выпадающий список, в котором можно выбрать расположение макросов. Большая вероятность того, что нужный файл находится не в копируемой книге.

=== Процедуры, предназначенные для работы во многих файлах, размещают в скрытой книге макросов. Alt+F11 — вход в редактор VBA. Слева обычно отображается окно проектов (Prioject-VBAPrioject). Если его нет — Ctrl+R. Открыть VBAPrioject (PERSONAL.XLSB)-Modules, в одном из модулей (их может быть несколько) найти нужный макрос, копировать его (можно в текстовый файл) и вставить код в личную книгу макросов другого компьютера. Еще макрос может быть найден в модуле ЭтаКнига или (маловероятно, но возможно) в модуле листа.

Путь к личной книге макросов:

 C:\Users\имя_пользователя\AppData\Roaming\Microsoft\Excel\XLSTART\ 

=== То, что нужно, не просто макрос — надстройка. Файл с расширением .xlam находится или в папке надстроек, или в любом другом месте, куда прописан путь. Где искать?

Файл-Параметры-Надстройки, внизу окна в выпадающем списке обычно по умолчаию выбрано Надстройки Excel (если нет, выбрать этот пункт), нажать кнопку Перейти. откроется окно с перечнем доступных надстроек. Те, которые отмечены галками — рабочие. Если нажать кнопку Обзор, откроется папка с надстройками, которая находится по пути:

C:\Users\имя_пользователя\AppData\Roaming\Microsoft\AddIns\ 

Копировать нужный файл с расширением .xlam и вставить в нужное место другого компьютера. Надстройку допустимо размещать в любой папке: в том же окне надстроек по кнопке Обзор найти файл, выделить его, нажать ОткрытьExcel запомнит путь. Конечно, правильнее надстройку сохранять там, где положено. В окне надстроек проверить, подключена ли надстройка.

Диалоговое окно «Сохранить как (3D-макрос)»

Вызов диалогового окна:

Вы открыли проект, а в нем открыли . Вы выделили требуемые 3D, которые необходимо в виде макроса. Обработать > Создать макрос окна / символа.

В этом диалоговом окне выделенные объекты 3D сохраняются как .

Доступны следующие элементы диалогового окна:

Каталог:

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

Имя файла:

Введите здесь имя файла макроса или же выберите его в интерактивном режиме, щелкнув по кнопке […]. В случае повторного сохранения одинаковых типов макроса предварительно настраиваются имя и другие (Каталог, вариант и т. д.) последнего сохраненного макроса.

Вид представления:

При сохранении 3D-макроса доступен только вид представления Трехмерный чертеж монтажных поверхностей.

Вариант:

С помощью раскрывающего списка указывается обозначение варианта для создаваемого макроса. В качестве предварительной настройку установлен «Вариант a».

Замечание:

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

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

Описание:

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

Всплывающее меню:

Во всплывающем меню, в зависимости от типа поля (дата, целочисленное, многоязычное…), предоставляются следующие возможности:

[Дополнительно]:

Нажмите эту кнопку, чтобы выполнить следующие операции:

  • Определить точку захвата: Точкой захвата называется точка, на которой «захватывается» при вставке макроса. Обычно макрос захватывается «вверху, слева» у первой точки вставки.
    Выберите эту опцию, если необходимо указать положение точки захвата. Диалоговое окно Сохранить как кратковременно закрывается. Переместите курсор в требуемую позицию и щелчком мыши определите место в сохраненном как макрос объекте 3D, где должна находиться точка захвата для макроса. При этом можно также использовать точки захвата 3D, которые отображаются при приближении к ним курсора. После этого EPLАN вновь вызывает диалоговое окно Сохранить как и работу над макросом можно завершить.
    Позиционирование точки захвата можно повторить в любое время. Ее положение в макросе при создании и позже при предварительном просмотре макроса обозначается специальным графическим символом.

См. также

Создание 3D-макроов

Файл сохранения VBA — 20 простых примеров

В этом руководстве по VBA рассказывается, как сохранить файл с помощью команд «Сохранить» и «Сохранить как» в VBA.

Сохранить книгу — VBA

Команда «Сохранить» в VBA сохраняет файл Excel аналогично щелчку значка «Сохранить» или использованию сочетания клавиш «Сохранить» (CTRL + S).

Сохранить указанную книгу.

 Workbooks ("savefile.xlsm"). Сохранить 

Сохраните активную книгу.

Примечание. Это текущая активная книга из кода VBA.

 ActiveWorkbook.save 

Кодирование на VBA стало проще

Прекратить поиск кода VBA в Интернете. Узнайте больше об AutoMacro — конструкторе кода VBA, который позволяет новичкам кодировать процедуры с нуля с минимальными знаниями кодирования и множеством функций, позволяющих сэкономить время для всех пользователей!

Узнать больше!

Сохранена рабочая книга, в которой хранится код.

 ThisWorkbook.save 

Сохранить все открытые книги

 Dim wb как рабочая тетрадь

Для каждого бб в приложении.Рабочие тетради
wb.Save
Следующий wb 

Сохранить все открытые книги, которые не были открыты только для чтения

Примечание. Открытие книги в режиме «Только чтение» предотвращает сохранение файла.
Чтобы сохранить файл, вам нужно будет использовать команду «Сохранить как» и сохранить файл под другим именем.

 Dim wb как рабочая тетрадь

Для каждого ББ в Application.Workbooks
Если не wb ReadOnly, то
wb.Save
Конец, если
Следующий wb 

Сохранить книгу, определенную переменной

 Dim wb как рабочая тетрадь

установить wb = workbooks ("savefile.xlsm ")
wb.save 

Сохранить книгу, определенную строковой переменной

 Dim wbstring as string

wbstring = "savefile.xlsm"
рабочие книги (wbstring) . save 

Сохраните книгу, определенную порядком ее открытия.

Примечание: в первой открытой книге будет 1, во второй 2 и т. Д.

 рабочих тетрадей (1) .save 

Сохранить книгу на основе значения ячейки

 Dim wbstring as string

wbstring = activeworkbook.sheets ("sheet1").диапазон ("wb_save"). значение
рабочие книги (wbstring) .save 

Сохранить как — VBA

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

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

Сохранить как Синтаксис:

 объект книги .SaveAs (FileName, FileFormat, Password, WriteResPassword, _
ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _
AddToMru, TextCodepage, TextVisualLayout, Local) 

Полное описание всех аргументов SaveAs приведено ниже. А пока остановимся на наиболее распространенных примерах.
Примечание. Эти аргументы можно вводить как строку со скобками или как определенные переменные.

Сохранить как примеры синтаксиса:

Рабочая книга «Сохранить как» — тот же каталог

 ActiveWorkbook.SaveAs Имя файла: = "новый" 

или

 ActiveWorkbook.Save как "новый" 

или

 Dim wbstring as string

wbstring = "новый"
ActiveWorkbook.SaveAs Имя файла: = wbstring 

Рабочая книга «Сохранить как» — новый каталог

 ActiveWorkbook.SaveAs Имя файла: = "C: \ new" 

или

 Dim wbstring as string

wbstring = "C: \ новый"
ActiveWorkbook. Сохранить как имя файла: = wbstring = 

Книга «Сохранить как» — новый каталог, укажите расширение файла

 ActiveWorkbook.SaveAs Имя файла: = "C: \ new.xlsx" 

или

 Dim wbstring as string

wbstring = "C: \ new.xlsx"
ActiveWorkbook.SaveAs Имя файла: = wbstring 

Сохранить как рабочую книгу — новый каталог, указать расширение файла — альтернативный метод

Вы также можете указать формат файла в собственном аргументе.

 .xlsx = 51 '(52 для Mac)
.xlsm = 52 '(53 для Mac)
.xlsb = 50 '(51 для Mac)
.xls = 56 '(57 для Mac) 
 ActiveWorkbook.SaveAs Имя файла: = "C: \ new", FileFormat: = 51 

Рабочая книга «Сохранить как» — добавить пароль для открытия файла

 ActiveWorkbook.SaveAs Имя файла: = "C: \ new.xlsx", Пароль: = "пароль" 

Рабочая книга «Сохранить как» — добавить пароль для прав записи

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

 ActiveWorkbook.SaveAs Имя файла: = "C: \ new.xlsx", WriteRes: = "пароль" 

Рабочая книга «Сохранить как» — рекомендуется только для чтения

TRUE для отображения окна сообщения с рекомендацией открыть файл только для чтения.

 ActiveWorkbook.SaveAs Filename: = "C: \ new.xlsx", ReadOnlyRecommended: = TRUE 

Прочие, за исключением примеров

Диалоговое окно «Сохранить как»

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

 Application.GetSaveAsFilename 

Диалоговое окно «Сохранить как» с предоставленным именем файла по умолчанию

 Application.GetSaveAsFilename InitialFilename: = "test.xlsx "

Диалоговое окно «Сохранить как» с предоставленным именем файла по умолчанию

 Application.GetSaveAsFilename InitialFilename: = "test.xlsx" 

Создать и сохранить новую книгу

 Dim wb как рабочая тетрадь

Установите wb = Workbooks. Add.
Application.DisplayAlerts = False
wb.SaveAs Имя файла: = ”c: \ Test1.xlsx”
Application.DisplayAlerts = True
 

Отключить предупреждения о сохранении

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

 Application.DisplayAlerts = False 

и для повторных предупреждений:

 Application.DisplayAlerts = True 

<< Вернуться к примерам VBA

VBA сохранить как рабочую книгу в определенную папку в Excel и диалоговое окно «Сохранить»

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

VBA сохранить как книгу — Решение (я):

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

Другой способ — использовать диалоговое окно «Сохранить».Так что пользователь может выбрать конкретную папку для сохранения файла Excel.

Сохранить книгу в определенную папку — Примеры случаев:

Сохранить книгу в определенной папке

В следующем примере показано, как сохранить книгу Excel в определенной папке с помощью метода SaveAs:

Sub ExampleToSaveWorkbook ()

Рабочие тетради. Добавить
'Сохранение книги
ActiveWorkbook.Save как "C: \ WorkbookName. xls"
'ИЛИ ЖЕ
'ActiveWorkbook.SaveAs Filename: = "C: \ WorkbookName1.xls "

Конец подписки
 
Установить объект и сохранить его

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

Sub ExampleToSaveWorkbookSet ()

Dim wkb как рабочая тетрадь
'Добавление новой книги
Установите wkb = Workbooks.Add.
'Сохранение книги
wkb.SaveAs "C: \ WorkbookName.xls"
'ИЛИ ЖЕ
'wkb.SaveAs Filename: = "C: \ WorkbookName1.xls"

Конец подписки
 
Сохранить книгу в определенную папку с помощью диалогового окна «Сохранить»

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

Sub sbSaveExcelDialog ()

Dim IntialName как строка
Dim sFileSaveName как вариант
IntialName = "Пример вывода"
sFileSaveName = Application.GetSaveAsFilename (InitialFileName: = InitialName, fileFilter: = "Файлы Excel (*.xlsm), * .xlsm »)

Если sFileSaveName <> False, то
    ActiveWorkbook.SaveAs sFileSaveName
Конец, если

Конец подписки

 
Сохранить книгу в том же месте, что и книга макроса (эта)

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

Sub ExampleToSaveWithSamePathDifferentName ()
Dim sFilename как строка
sFilename = "WorkbookName.xls" 'Вы можете дать нем, чтобы сохранить

Рабочие тетради.Добавлять
'Сохранение книги
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & sFilename

Конец подписки

 
Сохранить книгу

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

Sub ExampleToSaveWithSameNameandPath ()

'Сохранение книги
ActiveWorkbook.Save

Конец подписки
 
Файлы примеров

Вы можете загрузить файл примера и изучить его.
ANALYSISTABS — Сохранить книгу

Перезаписать существующую книгу с помощью VBA

При сохранении существующей книги или нового файла Excel с существующим именем Excel отобразит предупреждающее сообщение. Это прервет процедуру и попросит пользователя нажать «да» или «нет» для перезаписи файла.

Перезаписать существующую книгу с помощью VBA — Решение:

Этого можно избежать, временно отключив предупреждения и сохранив книгу с тем же именем, установив приложение .DisplayAlerts = False Свойство . Когда вы закончите с задачей, вы должны включить предупреждения приложения, установив свойство TRUE.

Перезаписать существующую книгу с помощью VBA — пример

В следующем примере показано, как перезаписать файл, отключив предупреждения приложений.

Код:

.

подпроцедура для перезаписи файла Excel
Sub ExampleToOverWriteExistingWorkbook ()
'Объявление: объявление переменной
Dim wkb как рабочая тетрадь

'Добавление новой книги с помощью книги.Добавить метод и настройку в объект wkb
Установите wkb = Workbooks.Add.

'Сохранение книги

'Желательно, чтобы приложение предупреждало перед сохранением файла
Application.DisplayAlerts = False

'Теперь сохраните файл
wkb.SaveAs "C: \ WorkbookName.xls" 'изменить на существующее имя файла
'ИЛИ ЖЕ
'wkb.SaveAs Имя файла: = "C: \ WorkbookName1.xls" 

'Eanbling the Application Aletrts после сохранения файла
Application.DisplayAlerts = True

Конец подписки
 
Инструкции:
  1. Открыть книгу Excel
  2. Нажмите Alt + F11, чтобы открыть редактор VBA
  3. Вставить модуль для меню «Вставить»
  4. Скопируйте приведенный выше код и вставьте в окно кода
  5. Сохранить файл как книгу с поддержкой макросов
  6. Нажмите F5 для выполнения itit

Как запрограммировать кнопку «Сохранить как» в Excel VBA | Small Business

Microsoft Excel предлагает Visual Basic для приложений (VBA) в качестве инструмента создания сценариев, позволяющего добавлять дополнительные функции в электронные таблицы Excel. Вы можете использовать VBA, чтобы предложить пользователю ввести имя файла для электронной таблицы Excel, а затем сохранить файл в том месте, которое указал пользователь.

В более новых версиях Excel вы можете использовать сценарии JavaScript для достижения аналогичной функциональности.

Общие сведения о VBA для Excel

VBA — это язык сценариев, который поддерживается пакетом программ Microsoft Office для повышения производительности, включая программу обработки текстов Microsoft Word и Microsoft Excel, программу электронных таблиц пакета.Microsoft предоставляет обширную документацию по функциям, доступным через VBA.

Он связан с другими версиями языков программирования Basic и Visual Basic, хотя имеет свой собственный синтаксис и набор функций, к которым вы можете получить доступ, особенно в том, что касается написания сценариев для программ Microsoft Office. Вы можете встраивать макросы или короткие программы в файлы Microsoft Office для себя и своих коллег для работы. Их можно использовать для настройки пользовательского интерфейса в Excel и Word, а также для автоматизации таких функций, как копирование и вставка текста.

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

VBA и проблемы безопасности

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

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

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

Настройка панели инструментов разработчика

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

Затем в правой части диалогового окна выберите «Основные вкладки» в раскрывающемся списке «Настроить ленту» и установите флажок рядом со словом «Разработчик». Щелкните кнопку «ОК».

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

Добавление кнопки «Сохранить» в Excel

Если вы хотите добавить кнопку VBA «Сохранить как» в Excel, вы можете сделать это с помощью вкладки «Разработчик» в меню ленты. Убедитесь, что вы включили его, настроив ленту, а затем нажмите кнопку «Вставить»; в разделе «Элементы управления ActiveX» щелкните слово «Кнопка».

Затем щелкните в своей электронной таблице в том месте, где должна отображаться кнопка.Затем в группе «Элементы управления» вкладки «Разработчик» меню ленты нажмите «Просмотреть код». Выберите имя кнопки в левом раскрывающемся меню и слово «Щелкните» в правом раскрывающемся меню, чтобы отредактировать код, который будет выполняться при нажатии на кнопку.

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

Excel VBA и «Сохранить как»

Чтобы предоставить макросу Excel функциональность «Сохранить как», можно использовать функцию Excel VBA GetSaveAsFilename.Это часть группы функций «Приложение», поскольку она является частью основных функций Excel.

Присвойте результат операции переменной с помощью строки вида «filename = Application.GetSaveAsFileName ()». При запуске кода появится диалоговое окно «Сохранить как», в котором по умолчанию используется имя текущего файла.

Вы можете указать аргумент функции с именем InitialFileName, чтобы указать другое имя файла по умолчанию, использовать аргумент с именем Title для настройки заголовка в диалоговом окне и использовать параметры FileFilter и FilterIndex, чтобы указать список типов файлов, например Excel электронные таблицы или текстовые файлы, а также индекс в списке того, который вы хотите использовать по умолчанию.

Когда вы выбираете папку и вводите имя файла для сохранения, функция вернет путь к файлу. Если вы закроете или отмените выход из диалогового окна, он вернет «Ложь».

Доступ к книге Excel

Логично, что вы, вероятно, захотите, чтобы кнопка Excel VBA SaveAs фактически сохраняла файл, используя путь к файлу, указанный пользователем, а не просто отбрасывала это имя. Для этого можно использовать метод SaveAs для объекта книги. Помните, что книга — это просто другое название файла электронной таблицы Microsoft Excel.

Для доступа к текущей книге, с которой работает пользователь, используйте переменную ActiveWorkbook. Чтобы получить уже открытую книгу по имени файла, используйте метод Workbooks, например, вызвав Workbooks («filename.xls»).

Сохранение книги

Когда у вас есть рабочая книга, вы можете вызвать для нее метод SaveAs, используя имя файла, указанное пользователем в диалоговом окне, например, вызвав «ActiveWorkbook.SaveAs Filename: = filename». Вы также можете передать в эту функцию другие параметры, такие как формат файла, который будет использоваться для файла, которым может быть текстовый файл Windows или Mac, файл значений, разделенных запятыми для Windows или Mac, или традиционный файл Excel.

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

Сохранение файла на месте

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

Для этого используйте метод Save в книге без аргументов. Например, вы можете вызвать ActiveWorkbook.Save, чтобы сохранить активную книгу. Вы также можете перебирать переменную Application.Workbooks, используя цикл for для сохранения каждой открытой книги.

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

Стилизация кнопки Excel VBA

Вы можете стилизовать и пометить кнопки, которые вы создаете в Excel VBA, чтобы они выделялись. Для этого щелкните вкладку «Разработчик» в меню ленты, а затем нажмите кнопку-переключатель «Режим разработки», чтобы включить режим разработки.

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

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

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

Использование значения по умолчанию «Сохранить как»

Хотя иногда может быть полезно вызвать диалоговое меню «Сохранить как» одним нажатием кнопки в электронной таблице, обычно в этом нет необходимости, поскольку кнопка «Сохранить как» уже встроена в Microsoft Excel.

Чтобы получить к нему доступ, щелкните меню «Файл» в Microsoft Excel и затем щелкните «Сохранить как». Выберите, где вы хотите сохранить файл, в облачном хранилище или на локальном компьютере, и используйте раскрывающееся меню «Тип файла», чтобы выбрать формат файла, который вы хотите использовать для сохранения файла.

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

Использование JavaScript API

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

Пока что функция сохранения доступна только в общедоступной предварительной версии инструмента создания сценариев. Вы можете сохранить файл, вызвав Рабочую книгу.save метод, аналогичный функциональности в VBA. Вызовите Workbook.save с параметром Excel.SaveBehavior.save, чтобы указать, что вы хотите сохранить файл в его существующем месте; используйте аргумент Excel.SaveBehavior.prompt, если вы хотите впервые указать пользователю, где сохранить файл.

Обратите внимание, что если пользователь отменяет меню «Сохранить», метод генерирует исключение.

Использование скрипта Google Apps

Если вы используете Google Таблицы вместо Microsoft Excel, вы все равно можете написать код для создания скриптов интерактивных элементов и автоматизированных функций в ваших электронных таблицах. Код будет написан на версии JavaScript, известной как Google Apps Script, которая имеет доступ к приложениям Google, таким как Google Docs, Google Sheets и Gmail.

Если вы хотите создать и заполнить электронную таблицу с определенным именем в Google Таблицах, вы можете использовать метод SpreadsheetApp.create, который принимает заданное имя электронной таблицы в качестве аргумента и возвращает веб-адрес новой электронной таблицы. Если вы передадите ему имя и количество строк и количество столбцов, например SpreadsheetApp.create («MySpreadsheet», 20, 5), он создаст новую электронную таблицу с этими спецификациями.

Совместимость программных инструментов

Обратите внимание, что языки сценариев, включенные в различные инструменты обработки текста и электронных таблиц, в значительной степени несовместимы с языками других производителей. Если вы отправите кому-либо лист Microsoft Excel с кодом VBA, который они открывают с помощью LibreOffice Calc, Apple Numbers или Google Sheets, весьма вероятно, что код VBA, встроенный в лист, просто не будет работать в другой программе.

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

Персональная книга макросов Excel | Сохранить и использовать макросы во всех книгах

Когда вы создаете / записываете макрос в книгу в Excel, его можно использовать только в этой книге.

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

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

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

Если вы хотите изучить VBA простым способом, ознакомьтесь с моим курсом Online Excel VBA Training .

Что такое личная книга макросов?

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

  Связано: Как автоматически открывать определенные файлы Excel при запуске  

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

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

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

Где я могу найти личную книгу макросов?

По умолчанию личная книга макросов не существует. Вам нужно сначала его создать.

Вот шаги, чтобы создать личную книгу макросов в Excel:

  • Откройте новую книгу или любую существующую книгу.
  • Перейдите на вкладку Разработчик на ленте.
  • Щелкните «Запись макроса».
  • В диалоговом окне «Запись макроса» укажите имя (также можно использовать по умолчанию).
  • В раскрывающемся списке «Сохранить макрос в» выберите «Персональная книга макросов».
  • Нажмите ОК.

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

Это приведет к созданию новой книги с именем PERSONAL.XLSB и сохранению макроса в этой книге.

Поскольку мы абсолютно ничего не сделали, в макросе нет кода.Это было сделано для создания личной книги макросов.

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

Выберите Сохранить .

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

Как скопировать макросы в личную книгу макросов?

Однажды ЛИЧНОЕ.Файл XLSB создается и сохраняется, вы можете скопировать макросы, которые хотите использовать повторно.

Вот шаги для копирования макросов в личную книгу макросов:

  • Откройте Excel.
  • Перейдите на вкладку Разработчик.
  • Выберите вариант Visual Basic. Это откроет редактор VB (или используйте ALT + F11).
  • В редакторе VB в Project Explorer вы увидите объект PERSONAL.XLSB.
  • Дважды щелкните модуль 1.
  • Скопируйте и вставьте код макроса в окно кода модуля.
  • Закройте редактор Vb.
  • Закройте и сохраните Excel.

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

 Также прочтите: Как удалить макросы из книги Excel 

Как использовать макросы, хранящиеся в личной книге макросов?

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

Вот шаги, чтобы сделать это:

  • Перейдите на вкладку Разработчик.
  • Щелкните по макросу.
  • В диалоговом окне «Макрос» выберите макрос, который нужно запустить.
  • Нажмите «Выполнить».

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

Вы также можете запустить макрос, назначив макросу сочетание клавиш или вставив фигуру / кнопку и назначив ей макрос.

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

Вам также могут понравиться следующие учебные пособия по Excel:

Способы сохранения БЕСПЛАТНОЙ макросы копии книги [СКАЧАТЬ БЕСПЛАТНО]

Дорогие друзья,

Это очень простой, но мощный совет по Excel VBA для вас. Много раз, прежде чем отправлять книгу с кодом макроса Excel VBA в ней, вы хотите сохранить книгу без какого-либо кода VBA в ней.
Поэтому в этой статье я покажу вам, как сохранить книгу Excel без макроса Excel в ней.
Это можно сделать вручную, а также с помощью Excel VBA.
В конце этой статьи у меня есть пример использования этого метода VBA. Вы также можете скачать БЕСПЛАТНУЮ рабочую тетрадь Excel , чтобы понять и поэкспериментировать.

Ручной метод: сохранение книги без макроса Excel

Выполните следующие шаги, чтобы сохранить копию книги как БЕСПЛАТНЫЙ макрос Excel. В сохраненной копии не будет кода макроса Excel.

Шаг 1:

Перейдите в Параметры файла и нажмите Сохранить AS вашего файла xlsm, как показано на рисунке ниже:

Шаг 2:

Теперь сохраните свою книгу как xlsx и не как xlsm , как показано на рисунке ниже

Шаг 3:

При нажатии на кнопку «Сохранить» вы получите следующее всплывающее окно с подтверждением. После того, как вы нажмете «Да», ваша книга Excel будет сохранена без кода макроса Excel.

Всплывающее окно подтверждения — сохранение Excel без кода макроса Excel

Шаг 4:

Теперь, когда вы откроете файл.xlsx, вы не увидите ни одного кода макроса Excel, как показано на рисунке ниже:

Книга Excel без макроса

Метод VBA: сохранить книгу без макроса Excel с помощью Excel VBA

Теперь, когда вы увидели, как добиться этого вручную , Я покажу вам, как этого добиться с помощью Excel VBA.

Следующий оператор VBA сможет сохранить вашу рабочую книгу с Excel Workbook как рабочую книгу без какого-либо кода Excel VBA в ней.

 
ThisWorkbook.Сохранить как имя файла: = "C: \ ... \ abc.xlsx", формат файла: = xlOpenXMLWorkbook
 
 

При выполнении вышеуказанного оператора VBA вы получите такое же всплывающее окно с подтверждением, как показано выше, которое вы получаете при сохранении вашей книги .xlsm как .xlsx.
Это может раздражать в автоматизированном процессе. Чтобы игнорировать это всплывающее окно в коде Excel VBA, вы просто используете Application.DisplayAlerts для false перед выполнением вышеуказанного оператора.

Сохранить книгу Excel как книгу Excel Macro FREE без подтверждения Всплывающее окно

Используйте приведенный ниже код VBA, чтобы сохранить книгу Excel без сохранения в ней кода VBA.

 
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Имя файла: = "C: \ ... \ abc.xlsx", FileFormat: = xlOpenXMLWorkbook
Application.DisplayAlerts = True
 
 

Например, если вы хотите поделиться своей книгой в виде вложения, вы можете сохранить копию текущей книги как Macro FREE.

Отправить текущую книгу как БЕСПЛАТНУЮ книгу макросов как вложение в электронном письме

Используя приведенный ниже код, вы можете отправить текущую книгу без какого-либо кода VBA, в котором уже есть коды VBA.Это один из лучших вариантов сохранения книги в виде БЕСПЛАТНОЙ книги по макросам Excel.
Перед отправкой книги в виде вложения по электронной почте вы не хотите делиться кодом вместе с книгой, тогда этот фрагмент кода сделает за вас волшебство.

 
Sub Email_CurrentWorkBook ()

    'Не забудьте сменить адрес электронной почты
    'перед запуском этого кода

    Dim OlApp как объект
    Dim NewMail как объект
    Dim TempFilePath как строка
    Dim fileName As String
    Уменьшить оригинал ББ как рабочую тетрадь
    Dim tempWB как рабочая тетрадь
    Dim tempXLSXPath As String
    Dim tempXLSMPath As String

    Установить originalWB = ThisWorkbook

    С приложением
        .ScreenUpdating = False
        .EnableEvents = Ложь
        .DisplayAlerts = Ложь
    Конец с

    'Сохраните книгу во временной папке вашей системы
    'ниже код получает полный путь к временной папке
    'в вашей системе
    TempFilePath = Environ $ ("temp") & "\"
    fileName = VBA.Left (originalWB.Name, (InStrRev (originalWB.Name, ".", -1, vbTextCompare) - 1))
    fileName = fileName & "-" & Format (теперь "дд-ммм-гг ч-мм-сс")
    
    tempXLSMPath = (TempFilePath & имя_файла & ".xlsm ") 'с макросом - как есть
    tempXLSXPath = (TempFilePath & fileName & ".xlsx") 'без макроса

    'сначала создается как есть копия этой книги
    'и сохраняется как макрос в формате [.xlsm]
    originalWB.SaveCopyAs (tempXLSMPath)
    
    'Теперь откройте эту копию текущей книги
    'и сохраните как БЕСПЛАТНУЮ книгу макросов [.xlsx].
    Установите tempWB = Workbooks.Open (tempXLSMPath)
    С tempWB
        .SaveAs имя_файла: = tempXLSXPath, FileFormat: = xlOpenXMLWorkbook
        .Закрыть savechanges: = False
    Конец с

    'Теперь откройте новое письмо
    Установите OlApp = CreateObject ("Outlook.Application")
    Установите NewMail = OlApp.CreateItem (0)

    При ошибке Возобновить Далее
    С NewMail
        .To = "[email protected]"
        .CC = "[email protected]"
        .BCC = "[email protected]"
        .Subject = "Введите тему здесь"
        .Body = "Введите текст сообщения"
        .Attachments.Add tempXLSXPath 'прикрепить файл .xlsx
        .Send 'или используйте .Display, чтобы показать вам электронное письмо перед его отправкой.Конец с
    При ошибке GoTo 0
    
    'Поскольку письмо было отправлено с вложением
    'Теперь удалите оба временных файла
    '.xlsx и .xlsm
    Убить tempXLSMPath
    Убить tempXLSXPath

    'ничего не устанавливать для созданных объектов
    Установите NewMail = Nothing
    Установите OlApp = Nothing
    Установить originalWB = Nothing
    Установить tempWB = Ничего

    'Теперь установите для свойств приложения значение true
    С приложением
        .ScreenUpdating = Истина
        .EnableEvents = Истина
        .DisplayAlerts = Истина
    Конец с
Конец подписки

 
 

В приведенном выше коде, как вы можете видеть, сначала я создал точную копию текущей книги с помощью макроса, а затем сохранил эту копию как книгу БЕСПЛАТНО от макросов. Странно ?? Не правда ли ?? Почему я напрямую не использовал оператор SaveAs, чтобы сохранить текущую книгу как книгу Macro FREE, а затем прикрепить ее к электронному письму и отправить?

Для этого есть веская причина … Прежде чем я объясню причину, я хотел бы, чтобы вы прочитали эти два основных различия между этими двумя методами …

Разница между

SaveAs и SaveCopyAs в Excel VBA

Ниже приведены два основных различия между этими двумя методами в Excel VBA…

Номер различия: 1:

После выполнения команды SaveAs новая книга становится текущей Рабочей книгой [в терминах VBA — ThisWorkbook]. Другими словами, после выполнения команды Сохранить как исходная книга больше не будет оставаться открытой и доступной [если вы снова не откроете исходную книгу, указав команду Workbooks.Open].

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

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

Разница №: 2:

Используя SaveAs, вы можете изменить многие вещи в своей книге Excel … например,
1. Защитите ее, указав пароль
2. Измените FileName, FilePath, FileFormat, FileType и т. Д.
больше…

При использовании SaveCopyAs, все, что вы можете сделать, это просто изменить FileName или FilePath или и то, и другое.Кроме этого, вы не можете вносить какие-либо изменения в книгу. Это просто копия вашей книги «КАК ЕСТЬ».

Это причина … почему я не мог просто использовать метод SaveCopyAs. Используя этот метод, я не могу изменить FileFormat рабочей книги как Macro FREE (.xlsx).

Теперь вы понимаете, почему комбинация этих двух методов потребовалась для реализации этого сценария отправки БЕСПЛАТНОЙ копии текущей книги Excel в виде вложения в электронном письме.

Загрузите книгу Excel с кодом — отправьте БЕСПЛАТНУЮ копию макроса текущей книги

Вам понравилась эта статья?

Тогда поделитесь им со своими коллегами и друзьями.Если у вас есть предложения, вопросы и т. Д., Напишите их в разделе комментариев, и я вернусь к вам как можно скорее.

Вы также можете прочитать…

Вы можете узнать больше об отправке электронной почты с помощью Excel VBA здесь

и многое другое….

Сохранение документа в макросе (Microsoft Word)

Обратите внимание:
Эта статья написана для пользователей следующих версий Microsoft Word: 2007, 2010, 2013 и 2016.Если вы используете более раннюю версию (Word 2003 или более раннюю), этот совет может вам не подойти . Чтобы ознакомиться с версией этого совета, написанного специально для более ранних версий Word, щелкните здесь: Сохранение документа в макросе.

Если вы хотите сохранить документ под управлением вашего макроса, вы можете использовать метод Save.Это то же самое, что и выбор команды «Сохранить» в меню «Файл», поэтому будет отображаться диалоговое окно «Сохранить как», если документ, который вы сохраняете, не был ранее сохранен. Синтаксис следующий:

ActiveDocument.Save
 

Если вы хотите сохранить документ в файл с новым именем, используйте следующий базовый синтаксис:

ActiveDocument.SaveAs FileName: = "имя файла"
 

, где имя_файла — полное имя (включая путь), которое вы хотите использовать для файла.

WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.)
Этот совет (11841) применим к Microsoft Word 2007, 2010, 2013 и 2016. Вы можете найти версию этого совета для старого интерфейса меню Word здесь: Сохранение документа в макросе .

Автор Биография

Аллен Вятт

Аллен Вятт — всемирно признанный автор, автор более чем 50 научно-популярных книг и многочисленных журнальных статей.Он является президентом Sharon Parq Associates, компании, предоставляющей компьютерные и издательские услуги. Узнать больше о Аллене …

Усреднение последних чисел в столбце

Необходимо рассчитать скользящее среднее для последних двенадцати значений в постоянно меняющемся диапазоне значений? Формула …

Узнайте больше

Номера абзацев вместо номеров страниц в оглавлении

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

Узнайте больше

Использование двухзначного дня недели в формате даты

Excel обеспечивает некоторую гибкость в том, как вы можете форматировать даты. Даже в этом случае некоторые даты просто невозможно отформатировать …

Узнайте больше

Перемещение по таблице в макросе

Вам нужно пройти по таблице, ячейка за ячейкой, в макросе? Это легко сделать с помощью метода Move, как описано в…

Узнайте больше

Вставка паузы с макросом

Вставить разрыв в документ очень просто. Вы можете подумать, что вставить один с помощью макроса сложнее, но это не так. …

Узнайте больше

Добавление умных котировок с помощью макроса

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

Узнайте больше
Макрос

Excel для сохранения листов в формате PDF

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

Экспорт активного листа как файла PDF

Следующий код макроса экспортирует активный лист (или листы) в формат PDF. Скопируйте код в обычный модуль кода, затем выберите лист (ы), которые вы хотите экспортировать, и запустите макрос.

См. Раздел ниже, чтобы узнать, как работает макрос.

ПРИМЕЧАНИЕ. Ниже приведены два дополнительных макроса:

.

Код для экспорта в PDF

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

Подложка PDFActiveSheet ()
'www.contextures.com
'для Excel 2010 и более поздних версий
Dim wsA как рабочий лист
Dim wbA As Workbook
Dim strTime As String
Dim strName As String
Dim strPath как строка
Dim strFile As String
Dim strPathFile As String
Dim myFile As Variant
При ошибке GoTo errHandler

Установите wbA = ActiveWorkbook
Установить wsA = ActiveSheet
strTime = Format (Теперь (), «ггггммдд \ _ччмм»)

'получить активную папку книги, если она сохранена
strPath = wbA.Path
Если strPath = "" Тогда
  strPath = Application.DefaultFilePath
Конец, если
strPath = strPath & "\"

'заменить пробелы и точки в имени листа
strName = Заменить (wsA.Имя, " ", "")
strName = Заменить (strName, ".", "_")

'создать имя по умолчанию для сохраненного файла
strFile = strName & "_" & strTime & ".pdf"
strPathFile = strPath & strFile

'использование может ввести имя и
'выберите папку для файла
myFile = Application.GetSaveAsFilename _
    (InitialFileName: = strPathFile, _
        FileFilter: = "Файлы PDF (* .pdf), * .pdf", _
        Title: = "Выберите папку и имя файла для сохранения")

'экспорт в PDF, если папка была выбрана
Если myFile <> "False" Тогда
    wsA.ExportAsFixedFormat _
        Тип: = xlTypePDF, _
        Имя файла: = myFile, _
        Качество: = xlQualityStandard, _
        IncludeDocProperties: = True, _
        IgnorePrintAreas: = False, _
        OpenAfterPublish: = False
    'подтверждающее сообщение с информацией о файле
    MsgBox "Файл PDF создан:" _
      & vbCrLf _
      & мой файл
Конец, если

exitHandler:
    Выйти из подводной лодки
errHandler:
    MsgBox «Не удалось создать файл PDF»
    Возобновить exitHandler
Конец подписки
 

Как работает макрос

Перед запуском макроса выберите лист (ы), которые вы хотите экспортировать в файл PDF.

Когда макрос запускается, он устанавливает переменные для активного листа и активной книги. Они будут использоваться для установки имени файла и папки по умолчанию.

 Установить wbA = ActiveWorkbook
Установите wsA = ActiveSheet 

К имени по умолчанию будет добавлена ​​отметка времени в формате ггггммдд_ччмм.

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

 Установить wbA = ActiveWorkbook
Установить wsA = ActiveSheet
strTime = Format (Now (), "yyyymmdd \ _hhmm") 

Затем макрос получает путь по умолчанию для сохранения файла PDF. Если активная книга была сохранена, используется ее путь. Если активная книга не была сохранена, используется папка для сохранения по умолчанию Excel.

 strPath = wbA.Path
Если strPath = "" Тогда
  strPath = Application.DefaultFilePath
Конец, если
strPath = strPath & "\" 

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

 'заменить пробелы и точки в имени листа
strName = Заменить (wsA.Name, "", "")
strName = Заменить (strName, ".", "_")
 

Путь к файлу, измененное имя листа и расширение «.pdf» объединяются.

'создать имя по умолчанию для сохраненного файла
strFile = strName & "_" & strTime & ".pdf"
strPathFile = strPath & strFile 

Откроется диалоговое окно «Сохранить как», в котором выбрана текущая папка или папка для сохранения по умолчанию.Папка фильтруется, чтобы отображались только файлы PDF, которые в ней содержатся.

В верхней части окна «Сохранить как» отображается настраиваемый заголовок «Выберите папку и имя файла для сохранения»

myFile = Application.GetSaveAsFilename _
    (InitialFileName: = strPathFile, _
        FileFilter: = "Файлы PDF (* .pdf), * .pdf", _
        Title: = "Выберите папку и имя файла для сохранения") 

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

Затем нажмите кнопку «Сохранить» или нажмите кнопку «Отмена», если вы передумали.

  • Если вы нажмете «Отмена», значение myFile будет «False», и больше ничего не произойдет — макрос завершится.
  • Если вы нажмете «Сохранить», будет создан файл PDF.
 Если myFile <> "False", то
    wsA.ExportAsFixedFormat _
        Тип: = xlTypePDF, _
        Имя файла: = myFile, _
        Качество: = xlQualityStandard, _
        IncludeDocProperties: = True, _
        IgnorePrintAreas: = False, _
        OpenAfterPublish: = False 

Затем, если файл был создан, макрос показывает подтверждающее сообщение с путем и именем файла.

    MsgBox "Файл PDF создан:" _
      & vbCrLf _
      & мой файл
 

Нажмите кнопку ОК, чтобы закрыть окно сообщения.

Макрос 2 — без подсказки

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

В приведенном ниже макросе имя по умолчанию основано на значениях в ячейках A1, A2 и A3 на активном листе.Файл PDF автоматически сохраняется в текущей папке — вам не предлагается выбрать папку, и вы не можете изменить имя по умолчанию.

 Подложка PDFActiveSheetNoPrompt ()
'www.contextures.com
'для Excel 2010 и более поздних версий
Dim wsA как рабочий лист
Dim wbA As Workbook
Dim strName As String
Dim strPath как строка
Dim strFile As String
Dim strPathFile As String
Dim myFile As Variant
При ошибке GoTo errHandler

Установите wbA = ActiveWorkbook
Установить wsA = ActiveSheet

'получить активную папку книги, если она сохранена
strPath = wbA.Путь
Если strPath = "" Тогда
  strPath = Application.DefaultFilePath
Конец, если
strPath = strPath & "\"

strName = wsA.Range ("A1"). Значение _
          & "-" & wsA.Range ("A2"). Значение _
          & "-" & wsA.Range ("A3"). Значение

'создать имя по умолчанию для сохраненного файла
strFile = strName & ".pdf"
strPathFile = strPath & strFile

'экспорт в PDF в текущей папке
    wsA.ExportAsFixedFormat _
        Тип: = xlTypePDF, _
        Имя файла: = strPathFile, _
        Качество: = xlQualityStandard, _
        IncludeDocProperties: = True, _
        IgnorePrintAreas: = False, _
        OpenAfterPublish: = False
    'подтверждающее сообщение с информацией о файле
    MsgBox "Файл PDF создан:" _
      & vbCrLf _
      & strPathFile

exitHandler:
    Выйти из подводной лодки
errHandler:
    MsgBox «Не удалось создать файл PDF»
    Возобновить exitHandler
Концевой переводник 

Макрос 3 — Без подсказки — Проверка файла

В приведенном ниже макросе имя по умолчанию основано на значениях в ячейках A1, A2 и A3 на активном листе.Файл PDF автоматически сохраняется в текущей папке без каких-либо запросов.

Однако, если файл с таким именем уже существует в текущей папке , появится сообщение с вопросом, хотите ли вы перезаписать файл. Щелкните Да или Нет в окне сообщения.

  • Да — новый файл перезаписывает старый файл
  • Нет — вам будет предложено выбрать папку и / или ввести другое имя файла.

ПРИМЕЧАНИЕ : Обязательно скопируйте функцию bFileExists под основным макросом

 Подложка PDFActiveSheetNoPromptCheck ()
www.контексты.com
'для Excel 2010 и более поздних версий
'проверяет существующий файл
'запрос на перезапись или переименование
'использует функцию bFileExists, ниже

Dim wsA как рабочий лист
Dim wbA As Workbook
Dim strName As String
Dim strPath как строка
Dim strFile As String
Dim strPathFile As String
Dim myFile As Variant
Dim lOver As Long
При ошибке GoTo errHandler

Установите wbA = ActiveWorkbook
Установить wsA = ActiveSheet

'получить активную папку книги, если она сохранена
strPath = wbA.Path
Если strPath = "" Тогда
  strPath = Application.DefaultFilePath
Конец, если
strPath = strPath & "\"

strName = wsA.Диапазон ("A1"). Значение _
          & "-" & wsA.Range ("A2"). Значение _
          & "-" & wsA.Range ("A3"). Значение

'создать имя по умолчанию для сохраненного файла
strFile = strName & ".pdf"
strPathFile = strPath & strFile

Если bFileExists (strPathFile) Тогда
  lOver = MsgBox ("Заменить существующий файл?", _
    vbQuestion + vbYesNo, "Файл существует")
  Если lOver <> vb Да Тогда
    'пользователь может ввести имя и
    'выберите папку для файла
    myFile = Application.GetSaveAsFilename _
      (InitialFileName: = strPathFile, _
          FileFilter: = "Файлы PDF (*.pdf), * .pdf ", _
          Title: = "Выберите папку и имя файла для сохранения")
    Если myFile <> "False" Тогда
      strPathFile = myFile
    Еще
      Перейти к exitHandler
    Конец, если
  Конец, если
Конец, если

'экспорт в PDF в текущей папке
wsA.ExportAsFixedFormat _
    Тип: = xlTypePDF, _
    Имя файла: = strPathFile, _
    Качество: = xlQualityStandard, _
    IncludeDocProperties: = True, _
    IgnorePrintAreas: = False, _
    OpenAfterPublish: = False

'подтверждающее сообщение с информацией о файле
MsgBox "Файл PDF создан:" _
  & vbCrLf _
  & strPathFile

exitHandler:
    Выйти из подводной лодки
errHandler:
    MsgBox «Не удалось создать файл PDF»
    Возобновить exitHandler
Конец подписки
'=============================
Функция bFileExists (rsFullPath As String) As Boolean
  bFileExists = CBool ​​(Len (Dir $ (rsFullPath))> 0)
Конечная функция
'============================= 

Ошибка — не удалось создать PDF

Если вы запустите эти макросы в Excel для Office 365, вы можете увидеть ошибку:

Или, если вы попытаетесь вручную экспортировать файл PDF в Excel для Office 365, вы можете увидеть эту ошибку:

  • Документ не сохранен.Возможно, документ открыт, или при сохранении
  • произошла ошибка.

На одном из форумов Excel на веб-сайте Microsoft кто-то опубликовал следующее решение проблемы.

  • Как всегда, создаст резервную копию реестра , прежде чем вносить в него какие-либо изменения, а попробуйте это на свой страх и риск !

‘====================

Цитата из форума Microsoft Excel :

После нескольких часов изучения отчетов Process Monitor на двух разных компьютерах и их сравнения я обнаружил, что приложения Microsoft Office ищут «Профиль цветового пространства sRGB».icm «в неправильном месте и не находите его. Удалив следующие значения реестра, проблема исчезнет:

  • Путь: HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ ICM \ RegisteredProfiles
  • Путь: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ICM \ RegisteredProfiles

Для записи, с этими значениями все в порядке. В них нет ничего плохого. (Их создает апплет управления цветом на панели управления Windows.) Вся вина лежит на Microsoft Office, т.е. это ошибка.

‘====================

Загрузить образец файла

Чтобы увидеть, как работает макрос, вы можете загрузить образец файла «Экспорт таблицы Excel в формате PDF». Заархивированный файл имеет формат xlsm и содержит макросы. Обязательно включите макросы, если хотите запустить макрос.

Дополнительные руководства

Электронная почта из Excel с PDF

Скопировать код макроса в книгу

Excel
VBA Редактировать записанный макрос

Excel
VBA Начало работы

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *