Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim x As String
ActiveWorkbook.Save
strPath = ActiveWorkbook.Path & «Temp»
On Error Resume Next
x = GetAttr(strPath) And 0
If Err = 0 Then ‘ если путь существует — сохраняем копию книги
strdate = Format(Now, «yyyy/mm»)
ActiveWorkbook.SaveAs Filename:=strPath & strdate & «.xlsm», FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
‘Application.DisplayAlerts = True
‘Application.DisplayAlerts = false
End If
End Sub
GIG_ant не получается
се равно спрашивает заменить книгу (Да,Нет,Отмена)
закрытие екселя с сохранением и без предупреждения |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Содержание
- Метод Workbook.SaveAs (Excel)
- Синтаксис
- Параметры
- Замечания
- Пример
- Поддержка и обратная связь
- Vba excel сохранить файл без подтверждения
- Vba excel сохранить файл без подтверждения
- Как отключить запрос на сохранение при закрытии книги?
- Отключить запрос на сохранение с кодом VBA в Excel
- MoveFirst Weblog
- Share this:
- Like this:
- Related
- 3 thoughts on “ Excel VBA – Save As (SaveAs) Without Confirmation ”
Метод Workbook.SaveAs (Excel)
Сохраняет изменения в книге в другом файле.
Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любую технологию веб-программирования, например HTML5, JavaScript, CSS3 и XML.
Синтаксис
expression. SaveAs (FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
Выражение Переменная, представляющая объект Workbook .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
FileName | Необязательный | Variant | Строка, указывающая имя сохраняемого файла. Можно включить полный путь; В противном случае Microsoft Excel сохранит файл в текущей папке. |
FileFormat | Необязательный | Variant | Формат файла, используемый при сохранении файла. Список допустимых вариантов см. в перечислении XlFileFormat . Для существующего файла форматом по умолчанию является последний указанный формат файла; Для нового файла по умолчанию используется формат используемой версии Excel. |
Password | Необязательный | Variant | Строка с учетом регистра (не более 15 символов), указывающая пароль защиты, который будет присвоен файлу. |
WriteResPassword | Необязательный | Variant | Строка, указывающая пароль резервирования записи для этого файла. Если файл сохраняется с паролем и пароль не предоставляется при открытии файла, он открывается только для чтения. |
ReadOnlyRecommended | Необязательный | Variant | Значение true для отображения сообщения при открытии файла, в котором рекомендуется открыть файл только для чтения. |
CreateBackup | Необязательный | Variant | Значение True для создания файла резервной копии. |
AccessMode | Необязательный | XlSaveAsAccessMode | Режим доступа к книге. |
ConflictResolution | Необязательный | XlSaveConflictResolution | Значение XlSaveConflictResolution , определяющее, как метод разрешает конфликт при сохранении книги. Если задано значение xlUserResolution, отображается диалоговое окно разрешения конфликтов. |
Если задано значение xlLocalSessionChanges, изменения локального пользователя принимаются автоматически.
Если задано значение xlOtherSessionChanges, изменения из других сеансов автоматически принимаются вместо изменений локального пользователя.
Если этот аргумент опущен, отобразится диалоговое окно разрешения конфликтов. AddToMru Необязательный Variant Значение true , чтобы добавить эту книгу в список недавно использовавшихся файлов. Значение по умолчанию — False. TextCodepage Необязательный Variant Игнорируется для всех языков в Microsoft Excel.
ПРИМЕЧАНИЕ. Когда Excel сохраняет книгу в одном из форматов CSV или текста, указанных с помощью параметра FileFormat , он использует кодовую страницу, соответствующую языку системного языкового стандарта, используемого на текущем компьютере. Этот системный параметр доступен на вкладке панель управления>Регион и расположение языка> в разделе Текущее расположение. TextVisualLayout Необязательный Variant Игнорируется для всех языков в Microsoft Excel.
ПРИМЕЧАНИЕ. Когда Excel сохраняет книгу в одном из форматов CSV или текста, указанных с помощью параметра FileFormat , эти форматы сохраняются в логическом макете. Если текст слева направо (LTR) внедрен в текст справа налево (RTL) в файле или наоборот, логическая разметка сохраняет содержимое файла в правильном порядке чтения для всех языков в файле без учета направления. Когда приложение открывает файл, каждый запуск символов LTR или RTL отображается в правильном направлении в соответствии с диапазонами значений символов на кодовой странице (если только приложение, предназначенное для отображения точного макета памяти файла, например отладчик или редактор, не используется для открытия файла). Local Необязательный Variant Значение True сохраняет файлы на языке Microsoft Excel (включая параметры панели управления). Значение False (по умолчанию) сохраняет файлы на языке Visual Basic для приложений (VBA) (как правило, на английском языке США, если проект VBA, из которого выполняется Workbooks.Open, не является старым проектом VBA с интернационализацией XL5/95).
Замечания
Используйте надежные пароли, содержащие строчные и прописные буквы, цифры и знаки. В ненадежных паролях не используются сочетания таких элементов.
- Надежный пароль: Y6dh!et5
- Ненадежный пароль: House27
Используйте надежный пароль, который можно запомнить, чтобы не пришлось его записывать.
Пример
В этом примере создается новая книга, запрашивается имя файла, а затем она сохраняется.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Vba excel сохранить файл без подтверждения
добрый день, скажите как закрыть ексель (полностью выйти) с сохранением под таким же названием и без предупреждения
скажите что в этом коде не так((((
добрый день, скажите как закрыть ексель (полностью выйти) с сохранением под таким же названием и без предупреждения
скажите что в этом коде не так((((
Сообщение добрый день, скажите как закрыть ексель (полностью выйти) с сохранением под таким же названием и без предупреждения
скажите что в этом коде не так((((
KSV | Дата: Суббота, 21.03.2015, 14:29 | Сообщение № 2 | |||||
|
When saving a file in Excel from VBA code it is sometime useful to avoid the display of a Save As dialog if the file to be saved already exists (i.e. to overwrite any exisiting files).
This is pretty easy but one of those things I always forget how to do!
Here’s the code:
Application.DisplayAlerts = False ActiveWorkbook.SaveAs (etc.) Application.DisplayAlerts = True
Thanks to the users at http://www.vbforums.com/showthread.php?t=528826 who reminded me of this for about the hundredth time!
-
#2
Hi, save this macro in the ThisWorkbook object rather than in a module.
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
End Sub
-
#3
Thanks for the suggestion; I couldn’t get that to work, but I did find a solution that did work for me to disable the prompt; here’s an example:
Application.DisplayAlerts = False ‘IT WORKS TO DISABLE ALERT PROMPT
‘SAVES FILE USING THE VARIABLE BOOKNAME AS FILENAME
ActiveWorkbook.SaveAs Filename:=»C:Data» & BookName, FileFormat:= _
xlNormal, Password:=»», WriteResPassword:=»», ReadOnlyRecommended:=False _
, CreateBackup:=False
Application.DisplayAlerts = True ‘RESETS DISPLAY ALERTS
-
#4
Theres always more than one way.
The code I posted should be saved in ThisWorkbook rather than Module1 (or whatever you have called your module). I was presuming the file your saving is the same one as where the code is run from. Sorry if I misinterpreted you.
The before_close event runs automatically as opposed to a normal macro where you have to do an action.
You can also have done this which saves and closes the workbook…
Code:
Sub CloseandSave()
ActiveWorkbook.Close SaveChanges:=True
End Sub
hth
-
#5
Hi ppl ,
i need help in macros of excel
The requirement is:
Coulmn1 Column2
ASD-op null
wer-it null
wert-yu null
dft-op null
When a user is trying to save, i want an macro to run were it ill have a search functionality in column 1 wic has -op suffixed and if corresponding column2 is null user shld get an alert asking to fill the column two
-
#6
Hi swathis
Can you please start your own new thread? This one relates to a different discussion altogether.
-
#7
Thanks for the suggestion; I couldn’t get that to work, but I did find a solution that did work for me to disable the prompt; here’s an example:
Application.DisplayAlerts = False ‘IT WORKS TO DISABLE ALERT PROMPT
‘SAVES FILE USING THE VARIABLE BOOKNAME AS FILENAME
ActiveWorkbook.SaveAs Filename:=»C:Data» & BookName, FileFormat:= _
xlNormal, Password:=»», WriteResPassword:=»», ReadOnlyRecommended:=False _
, CreateBackup:=FalseApplication.DisplayAlerts = True ‘RESETS DISPLAY ALERTS
Your solution used to work for me, but now I get another alert:
«Privacy warning: This document contains macros, ActiveX controls, XML expansion pack information, or Web components. These may include personal information that cannot be removed by the Document Inspector.»
Any ideas?
PS. I use Windows XP, Excel 2007.
-
#8
Try this…
Sub SaveWbWithoutPrompt()
Activeworkbook.Saved=True
End Sub
-
#9
Thank You for this too, it saved me some annoying work regularly~~~~
-
#10
I have written the macro for the save as functionality but once the routine iis over the normal save as box comes up. can someone help.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Val(Application.Version) < 12 Then
restart1:
vFile = Application.GetSaveAsFilename(«», «Excel files (*.xls),*.xls»)
If TypeName(vFile) = «Boolean» Then
iRet = MsgBox(«Quit without saving file?», vbYesNo)
If iRet = vbNo Then
GoTo restart1
Else
Exit Sub
End If
‘Exit Sub ‘ user cancelled
Else
ActiveWorkbook.SaveAs Filename:=vFile, FileFormat:= _
-4143
iRet = MsgBox(«Your file has been saved in » & FPath, vbOK)
End If
End Sub