Note: The other languages of the website are Google-translated. Back to English

Как заставить пользователей сохранять как книгу с поддержкой макросов?

Когда вы сохраняете книгу Excel, она по умолчанию сохраняется в формате файла xlsx, и этот формат файла избавит от кодов макросов из книги, если имеется несколько кодов. Чтобы сохранить коды, вы должны сохранить книгу в формате Excel Macro-Enable Workbook. Как вы могли заставить пользователей сохранять в виде книги с поддержкой макросов?

Заставить пользователей сохранять как книгу с поддержкой макросов с кодом VBA


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

Чтобы сохранить книгу как книгу с поддержкой макросов по умолчанию, вам может помочь следующий код VBA, сделайте следующее:

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

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

Код VBA: принудительно сохранить книгу как книгу с поддержкой макросов по умолчанию:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Updateby Extendoffice
Dim xFileName As String
If SaveAsUI <> False Then
    Cancel = True
    xFileName = Application.GetSaveAsFilename(, "Excel Macro-Enabled Workbook (*.xlsm), *.xlsm", , "Save As xlsm file")
    If xFileName <> "False" Then
      Application.EnableEvents = False
      ActiveWorkbook.SaveAs Filename:=xFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
      Application.EnableEvents = True
    Else
      MsgBox "Action Cancelled"
      Cancel = True
      Exit Sub
    End If
End If
End Sub

документ принудительно сохранить как xlsm 1

3. Затем сохраните и закройте это окно кода, с этого момента, когда пользователи сохранят эту книгу, она будет сохранена как Excel Macro-Enabled Workbook формат по умолчанию, как показано на следующем снимке экрана:

документ принудительно сохранить как xlsm 2


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (11)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Это было так полезно и сработало как шарм, спасибо :)
Этот комментарий был сведен к минимуму модератором на сайте
Избавил меня от боли - большое спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Хороший!

Спас меня от головной боли! :)
Этот комментарий был сведен к минимуму модератором на сайте
Я использую Excel 2016 для Mac, и когда я использую этот код VBA для достижения «принудительного сохранения как .xlsm», я получаю следующую ошибку:

Ошибка времени выполнения «1004»:

Не удалось выполнить метод GetSaveAsFilename объекта _Application.

Любое руководство, которое кто-то может дать по поводу этой ошибки, и то, как мне может понадобиться настроить код для работы в версии Excel для Mac, будет очень признательно!
Этот комментарий был сведен к минимуму модератором на сайте
fileformat: =52 лучше, чем создание книги с поддержкой макросов. fileformat:=51 — обычная рабочая книга.
Этот комментарий был сведен к минимуму модератором на сайте
Продолжайте получать 1004 ОШИБКА.
Использование Off365 2016 для MAC. Есть решения?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Джонатан,
Этот код хорошо работает в Windows Office, но не тестировался в MAC.
Вам следует поискать код для работы в MAC.
Спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Любой способ иметь этот VBA в файле шаблона
Этот комментарий был сведен к минимуму модератором на сайте
Любой способ иметь этот VBA в файле, который является истинным типом файла шаблона?
Этот комментарий был сведен к минимуму модератором на сайте
Когда вы будете готовы создать шаблон, я считаю, что вы должны использовать Immediate Window для запуска
ActiveWorkbook.SaveAs Имя файла:="ВВЕДИТЕ ИМЯ ШАБЛОНА", Формат файла:=xlOpenXMLTemplateMacroEnabled
Этот комментарий был сведен к минимуму модератором на сайте
Код VBA, заставляющий пользователя сохранять файл в формате .xlsm, очень хорошо работает для меня. Я искал это решение в течение довольно долгого времени. Большое спасибо за помощь!
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL