Как сохранить файл vba: Метод Workbook.Save (Excel) | Microsoft Learn

vba — Сохранение файла в папку «..\Version\..» при закрытии файла


Вопрос задан


Изменён
4 года 4 месяца назад


Просмотрен
454 раза

Коллеги!
Есть код:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.DisplayAlerts = False
    Call ThisWorkbook.SaveAs("C:\_Temp\Test2\Version\Test2_" & Format(Now(), "DDMMYY") & "_" & Format(Time(), "hhmmss"), xlWorkbookDefault)
    Application.DisplayAlerts = True
End Sub

Очень хотелось бы вместо руками жёстко прописанного пути «C:_Temp\Test2\Version\Test2_» сделать это автоматически (может как-то с ThisWorkbook.Path), чтобы данный код был универсальным для любой новой книги, требующей сохранения дубликата в указанную папку при закрытии файла (скопировал этот универсальный код + создал папку «. .\Version..» где лежит этот файл и всё).
То есть в папке «..\Version..» будет получаться что-то типа лога…

Поизящнее что-ли кода хочется -)

И ещё: сейчас сохраняются в папку «..\Version..» файлы с разрешением .xlsx, а надо чтобы с разрешением .xlsm






2

В модуль «ЭтаКнига»

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sFldr As String, sFName As String
    sFldr = ThisWorkbook.Path & "\Version\" ' путь к папке для сохранения'
    If Dir(sFldr, vbDirectory) = "" Then MkDir sFldr ' создаем, если нет'
    sFName = Replace(ThisWorkbook.Name, ".xlsm", "") & _
                    "_" & Format(Now(), "ddMM_hhmmss") ' имя back-up'
    Application.DisplayAlerts = False
    ThisWorkbook.Save ' если нужно сохранить и рабочую версию'
    ThisWorkbook.SaveAs Filename:=sFldr & sFName & ".xlsm", _
                    FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    Application. DisplayAlerts = True
End Sub






2







Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации



Почта

Необходима, но никому не показывается




By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.


Visual Basic Сохранение проекта

Запуск программы Visual Basic
для создания стандартного проекта Standart. exe

Сохранение
проекта

Создание
исполняемого EXE файла

Сохранение
ФОРМЫ как шаблон, предназначенный для
использования в этом или других проектах и
добавление его в проект.

Выполнение
проекта:

 

=========


Запуск программы Visual Basic
для создания стандартного проекта Standart.exe

  • Запустить
    систему программирования VB5.0
    CCE.

  • Создать
    новый проект. Для этого ввести команду [File-New
    Project]. 

  • На
    открывшейся диалоговой панели
    New
    Project

    выбрать тип создаваемого проекта
    Standart.exe
    .

     

ПРИМЕЧАНИЕ:
На открывшейся диалоговой панели New
Project

можно выбрать:

NEW
— создание нового проекта

Existing
— открытие существующего проекта

Recent
— открытие недавно созданного проекта

назад

========

Сохранение
проекта

  • Сохраните все формы проекта. File Save
    Form As…  Visual
    Basic  по умолчанию даст форме то имя, которое вы
    задали ей в свойстве Name.
    Файл с формой и кодами будет храниться под
    именем вашей формы с расширением frm.

  • После того, как форма сохранена, 
    нужно сохранить файл проекта File Save
    Project As…
    и Visual Basic по умолчанию предложит вам имя Project1.vbp.

На диске будет сохранено три
файла: файл формы с расширением frm,
файл проекта с расширением vbp и еще один вспомогательный файл с
расширением vbw. Рекомендуется для каждого
проекта создавать свою папку на диске.
 

При повторном сохранении
изменений внесенных в уже сохраненный
проект, достаточно  File пункт Save

 Сохраненный
проект может выполняться только в системе
программирования Visual Basic. 

назад

========

Компиляция

Для того чтобы проект мог запускаться в
среде операционной системы необходимо
сохранить его в исполняемом файле (типа EXE).
Для трансляции проекта в исполняемый файл
используется команда [File-Make
…]
(в свободно распространяемой версии VB5.0
CCE
такая возможность, к сожалению, отсутствует).
 

Для
запуска процесса компиляции и создания
исполняемого файла проекта необходимо:

  1. В
    меню Project выбрать Project
    Properties

  2. В
    появившемся окне на вкладке Make выберите форму, с которой будет запускатся
    программа и на вкладке Compile желательно выбрать пункты
    Compile to Natiwe Code
    (после компиляции может работать и на
    компьютерах, где не установлена программа Visual Basic).
    Далее можете выбрать  Optimize
    to Fast Code
    (большая скорость, но и размер файла больше )
    или Optimize to Small Code (уменьшение
    скорости и размера файла).

  3. File
    Make <имя проекта>.exe — появится окно
    Make Project.

  4. В
    окне Make Project (создать проект) в
    поле ИМЯ ФАЙЛА — ввести
    имя или оставить такое имя, которое
    присвоит программа VB

  5. Нажать
    кнопку Option и в открывающемся окне
    Project Properties ввести номер версии
    исполняемого файла.

  6. ОК.

назад

========

Сохранение
ФОРМЫ как шаблон, предназначенный для
использования в этом или других проектах и
добавление его в проект:

  • File пункт Save
    Form as

  • выбрать
    папку, обычно \VB|Template\Forms\ и дать имя файлу

  • ПРИМЕЧАНИЕ:
    Этот шаблон-форму, вы можете использовать в этом или других
    проектах, только для добавления формы в
    проект необходимо Project — Add Form — Existing — выбрать папку где
    сохранили шаблон (по умолчанию путь к папке, следующий \VB|Template\Forms\)

    выбрать шаблон — ОТКРЫТЬ.

ПРИМЕЧАНИЕ:
Форма, которую хотите сохранить как
шаблон, не должна иметь распространенное
имя (Form1 и т.д.), при добавлении такого
шаблона в проект, в котором уже есть форма
с таким именем, машина начнет ругаться и
не добавит форму. Чтобы избежать этого
дайте оригинальное имя (например, Pattern1 и т.д)
форме. Я здесь говорю, ИМЕНИ ФОРМЫ,
которая задается в свойстве Name, а не о
ИМЕНИ ФАЙЛА, которая задается при
сохранении формы. 

назад

========

Выполнение
проекта:

  • или
    в меню Run команда Start

  • или
    нажать кнопку Start на панели инструментов

  • или
    нажать клавишу F5

ПРИМЕЧАНИЕ:
если вы запускаете на проверку, только
одну форму из многих, ещё не связанных
между собой форм, то сначала нужно
установить порядок запуска и первым
поставить ту форму, которую хотите
проверить. Для этого Project — Project Properties —
General — Startup Objeject — и выбрать первую
стартующую форму, в нашем случае ту,
которую нужно проверить. Потом не забудьте
все обратно восстановить.

назад

Как сохранить код VBA в Excel (3 подходящих метода)

Получите БЕСПЛАТНЫЕ продвинутые упражнения Excel с решениями!

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


3 простых способа сохранить код VBA в Excel

1. Сохраните код VBA в книге Excel.

2. Сохраните код VBA из редактора Visual Basic.

3. Экспорт кода VBA в формате BAS

Заключение

Статьи по Теме

3 простых метода сохранения кода VBA в Excel

1. Сохраните код VBA в книге Excel

Вы можете сохранить полную книгу с макросами. Но для сохранения макросов необходимо использовать другой формат. Для рабочей книги с поддержкой макросов используется формат 9.0003 .xlsm , а формат обычной книги Excel — .xlsx или .xls . Итак, чтобы сохранить файл Excel как книгу с поддержкой макросов, выполните следующие действия:

📌 ШАГИ:

  • Во-первых, после работы с файлом перейдите в меню Файл и выберите параметр Сохранить как .
  • Теперь перейдите в целевое место для сохранения и дайте файлу подходящее имя.
  • Затем нажмите в раскрывающемся меню параметра типа.
  • И выберите параметр « Книга Excel с поддержкой макросов (*, xlsm)» .
  • Наконец, нажмите кнопку Сохранить

Подробнее: Код VBA для кнопки «Сохранить» в Excel (4 варианта)


2.

Сохранение кода VBA из редактора Visual Basic

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

📌 ШАГИ:

  • После завершения модуля перейдите на верхнюю ленту и нажмите на вкладку File .
  • Затем выберите параметр Сохранить . Кроме того, вы можете нажать Ctrl + S , чтобы сохранить файл.
  • В результате появится окно с названием « Сохранить как» . Дайте подходящее имя для файла в опции File Name .
  • Затем нажмите на стрелку в Сохранить как Введите , чтобы открыть раскрывающееся меню.
  • В раскрывающемся меню выберите параметр « Книга Excel с поддержкой макросов (*, xlsm)».
  • Наконец, нажмите OK , чтобы сохранить модуль с рабочей книгой в формате с поддержкой макросов Excel .

Подробнее: Excel VBA: сохранить книгу в определенной папке (4 подходящих примера)


Аналогичные показания

  • Как открыть документ Word и сохранить его в формате PDF или Docx с помощью VBA Excel
  • Как отменить изменения в Excel после сохранения и закрытия (2 простых метода)
  • [Исправлено]: Microsoft Excel не может открыть или сохранить какие-либо документы, так как недостаточно доступной памяти
  • Сохранить Excel как CSV с двойными кавычками (3 простейших метода)
  • Excel VBA: создание счета и сохранение в формате PDF (с помощью быстрых действий)

3. Экспорт кода VBA в формате BAS

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

📌 ШАГИ:

  • После завершения модуля перейдите на верхнюю ленту.
  • Затем выберите Файл > Экспорт файла
  • Или нажмите кнопку Ctrl + E   клавиши на клавиатуре, чтобы сделать то же самое.
  • Затем появится окно «Экспорт файла».
  • Теперь дайте модулю подходящее имя.
  • Вы увидите, что формат файла « Basic Files». Оставить как есть.
  • Наконец, нажмите кнопку OK .
  • Из того же места вы можете импортировать модуль для повторного использования.

Подробнее: Excel VBA Сохранить как формат файла (12 подходящих примеров)


Заключение

В этой статье я показал 3 простых способа сохранить код VBA в Excel. Я верю, что после прочтения этой статьи вся путаница в этой теме будет решена. Итак, я надеюсь, что вы нашли эту статью полезной. Если у вас есть какие-либо вопросы или рекомендации, поделитесь ими в разделе комментариев ниже. Не забудьте посетить наш веб-сайт Exceldemy com, чтобы узнать о различных проблемах и решениях, связанных с Excel. Продолжайте изучать новые методы и продолжайте расти!


Похожие статьи

  • Excel VBA: выберите местоположение и сохраните как PDF
  • Как отменить сохранение в Excel (4 быстрых метода)
  • Как сохранить несколько листов Excel в один файл (5 простых способов)
  • [Исправлено!] Документ не сохранен Сетевой диск Excel (5 возможных решений)
  • Как сохранить несколько листов Excel в CSV (6 простых способов)
  • Как сохранить один лист в Excel в формате PDF (3 полезных способа)

Как сохранить проект Excel и VBA для использования в будущем?

спросил

Изменено
3 года, 4 месяца назад

Просмотрено
8к раз

Как сохранить проект в формате xlsx?
Я пытаюсь сделать свой проект в Excel с vba, но я знаю, как сохранить его для будущего использования.
Если я сохраню как лист Excel, vba не будет сохранен на нем, я знаю, как это сделать.
Есть ли кто-нибудь, у кого есть идея по этой проблеме?

Пожалуйста, кто-нибудь может мне помочь.

  • vba
  • excel

xlsx только для технического описания. Если у вас есть код VBA в вашей книге Excel, вы должны сохранить ее как книгу Excel с поддержкой макросов (*.xlsm)

.

0

Здравствуйте, Шадрак Рурангва**,

Есть несколько способов сделать это.

Вариант один:

сохранить файл vba в « .bas»
1. Щелкните меню Сервис->Макрос->Редактор Visual Basic
2. Откроется редактор Visual Basic
3. В редакторе Visual Basic выберите меню Файл-> Щелкните правой кнопкой мыши где-нибудь в модуле и выберите файл экспорта (сохраните где-нибудь модуль «.bas»).

В следующий раз, когда вы запустите Excel и захотите использовать свой VBA-Macro, просто перейдите к:
Tools>Macro->Visual Basic Editor> щелкните правой кнопкой мыши где-нибудь в модуль и импортировать «
.