Сливочный Пользователь Сообщений: 178 Win 10, MSO 2016 |
Здравствуйте уважаемые специалисты. Перед сохранением файла выскакивает сообщение |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
В параметрах конфиденциальности снять галку «Удалять личные сведения…» Не оно? |
Сливочный Пользователь Сообщений: 178 Win 10, MSO 2016 |
Не совсем, пусть он удаляет или что он там делает хз, но сообщение не выводит. Возможно такое сделать? |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
|
Сливочный Пользователь Сообщений: 178 Win 10, MSO 2016 |
|
MuRoW Пользователь Сообщений: 1 |
спасибо, был аналогичный вопрос, очень помогли. |
Спасибо.! Тоже уже который раз забываю где эта настройка находится. Не перестаю удивляться возможностям excel и VBA. |
|
Inexsu Пользователь Сообщений: 758 |
#8 20.03.2018 08:46:30 Привет!
Сравнение прайсов, таблиц — без настроек |
||
falmrom Пользователь Сообщений: 349 |
Спасибо большое! Вопрос закрыт, ответ получен! |
SNegra Пользователь Сообщений: 2 |
Office 2019: |
Wiss Пользователь Сообщений: 1028 |
#11 20.08.2019 17:32:30
Спасибо, мил человек! Выкину себе на панель быстрого доступа. А не поделитесь модулем MsgBoxAutoClose, чтобы совсем счастье наступило?.. Я не волшебник, я только учусь. |
||
Wiss Пользователь Сообщений: 1028 |
#12 20.08.2019 17:40:54 Нагуглил. Может, кому пригодится…
Я не волшебник, я только учусь. |
||
sokol92 Пользователь Сообщений: 4445 |
#13 20.08.2019 19:53:32 Лучше использовать соответствующий метод объекта WScript.Shell.
Владимир |
||
БМВ Модератор Сообщений: 21376 Excel 2013, 2016 |
А я обычно WshShell.run «msg * /Time:5 Это текст сообщения» пользовал. Правда в VBS. Даже если пользователь не залогинен, то будет сообщение По вопросам из тем форума, личку не читаю. |
karandaev Пользователь Сообщений: 9 |
|
Татьяна Агафонова Пользователь Сообщений: 140 |
#17 27.10.2020 10:38:21
Класс. Работает. А то ужас что творилось. |
||
borro Пользователь Сообщений: 198 |
#18 27.01.2023 12:28:58 Здравствуйте!
Перед закрытием с сохранением каждого файла вылетает это самое сообщение:
Из предложенных здесь скриптов подавления сообщения у меня ничего не заработало. Подскажите, пожалуйста, что и куда надо дописать для этого. желаю всем счастья |
|||
Jack Famous Пользователь Сообщений: 10846 OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome |
#19 27.01.2023 12:42:42
приветствую! Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄ |
||
Борис Пользователь Сообщений: 198 |
Добавил |
DaN Пользователь Сообщений: 22 |
#21 21.02.2023 01:52:25
Счастья тебе мил Человек! оочень выручил, спасибище! |
||
When you automate Excel functions with macros using Visual Basic for Applications, Excel doesn’t know a macro is controlling execution and continues to issue user notifications and prompts. There are several ways you can turn off Excel’s notifications when you save a workbook and let the macro decide whether to keep or discard changes that either the user or the macro made to the workbook.
Create Macro
-
Launch Excel. Choose «File» and then «Options.» Select «Customize Ribbon» and click the box to put a check mark next to the «Developer» option in the list of tabs on the right under Main Tabs, if the box is not already checked. Select «OK» to save your changes.
-
Choose «Developer» from the menu and select «Macros.» Type a name for your macro and choose «Create» to open the VBA editor.
-
Type the code for your macro inside the subroutine outline provided in the editor. Call the Shutdown subroutine and pass True to save changes to the workbook or False to ignore changes to the workbook. Call the CloseAndDiscard subroutine to close the workbook and ignore changes. For example, type: «Shutdown(True)», «Shutdown(False)» or «CloseAndDiscard()» (without quotes).
Create Shutdown() or CloseAndDiscard() Subroutine
-
Create a VBA subroutine that accepts a flag indicating whether changes should be saved. Set the workbook property to «Saved» as though you have just saved the file and then close the workbook to discard changes without any user prompts or notifications. Otherwise, save changes and close the workbook. For example:
Sub Shutdown(ShouldSave As Boolean) If ShouldSave = True Then ‘ save the changes If ThisWorkbook.Saved = False Then ‘ only save if changes were made ThisWorkbook.Save ‘ save the file without a user prompt End If Else ThisWorkbook.Saved = True ‘ tell Excel we saved the file to discard changes End If
ActiveWorkbook.Close ‘ close the file End Sub -
Discard changes that have been made to a workbook when you close it by disabling all system alert messages, closing the file and re-enabling alerts. For example:
Sub CloseAndDiscard() Application.DisplayAlerts = False ActiveWorkbook.Close ‘ no user prompt = ignore changes Application.DisplayAlerts = True End Sub
-
Set the «SaveChanges» parameter to «True» when calling the ActiveWorkbook Close method to automatically save changes without prompting the user. Set the parameter to «False» to automatically discard changes without prompting the user. For example:
Sub ShutDown(ShouldSave As Boolean) ActiveWorkbook.Close SaveChanges:=ShouldSave End Sub
Save as Macro-Enabled Workbook
-
Select «File» and «Close and Return to Microsoft Excel» after you create your macros and associated subroutines.
-
Select «Developer» from the menu, choose «Macros,» highlight your macro and select «Run» to run and test it.
-
Select «File» from the menu, choose «Save As…» and change the Save as Type to «Excel Macro-Enabled Workbook (*.xlsm).» Type a file name and choose «Save» to save the workbook with the macro.
Проблема
Рассмотрим следующий сценарий. вы работаете над проектом по автоматизации Microsoft Office. Поэтому вы открыли редактор Microsoft Visual Basic для приложений. Также открыт лист Excel, в котором содержится ссылка на данные Excel (см. Ссылки на данные Excel).
Вы удаляете лист Excel с источником данных для think-cell. В Excel может появится сообщение об ошибке: «Требуется объект».
При попытке сохранить файл Excel, будет выдано сообщение об ошибке:
«Обнаружены ошибки при сохранении [имя файла]». Microsoft Excel может сохранить файл, удалив или исправив некоторые функции. Чтобы провести восстановление в новом файле, нажмите на кнопку «Далее». Для отмены сохранения файла нажмите на кнопку «Отмена».
При нажатии кнопки Продолжить, процесс восстановления завершается ошибкой.
Excel 2007 или 2010: если вы пытаетесь вставить новый лист Excel вместо сохранения файла, программа аварийно завершается.
Причина
Проблема обусловлена программной ошибкой в Excel. Мы отправили отчет о данной ошибке компании Microsoft. Если у вашей компании есть контракт на поддержку Microsoft Office и вы хотите обратиться в Microsoft за исправлением, вы можете указать номер обращения Microsoft 114072911657591. Ошибку можно воспроизвести и без надстройки think-cell.
Воспроизведение ошибки без think-cell
Выполните следующие действия.
- Запустите Excel и создайте новый пустой файл.
- Введите 100 в ячейках A1 и A2 первого листа, Лист1.
- Выберите ячейки A1:A2 в Лист1 и нажмите Ctrl + C, чтобы скопировать значения.
- (Только при попытке воспроизведения ошибки в Excel 2013 или более поздней версии: вставьте второй лист. В более предыдущих версиях Excel три листа по умолчанию, поэтому это не требуется.)
- Нажмите Alt + F11, чтобы открыть окно редактора Microsoft Visual Basic для приложений и оставьте его открытым.
- Запустите Word и создайте новый пустой файл.
- Выберите в меню Word пункт Главная → Вставить → Специальная вставка → Вставить ссылку: объект листа Microsoft Excel и нажмите кнопку OK.
- В Excel нажмите правой кнопкой мыши на вкладку Лист1 и выберите команду Удалить.
-
Попробуйте сохранить файл Excel. В Excel появляется сообщение об ошибке:
«Обнаружены ошибки при сохранении [имя файла]». Microsoft Excel может сохранить файл, удалив или исправив некоторые функции. Чтобы провести восстановление в новом файле, нажмите на кнопку «Далее». Для отмены сохранения файла нажмите на кнопку «Отмена».При нажатии кнопки Продолжить, процесс восстановления завершается ошибкой.
Excel 2007 или 2010: если вы пытаетесь вставить новый лист Excel вместо сохранения файла, программа аварийно завершается.
Решение
При возникновении такой ошибки вы можете сохранить данные в новый документ Excel или сбросить изменения и восстановить исходный документ:
Сохранение данных в новом документе Excel
Для сохранения изменений, внесенных в документ, скопируйте измененные листы в новый документ Excel и сохраните последний.
Восстановление документа Excel, чтобы избежать повторения этой ошибки в будущем
Вы можете восстановить документ Excel, удалив все проекты Visual Basic для приложений (VBA) из своего документа. Однако, лишь удаления проектов в редакторе Visual Basic будет недостаточно. Выполните следующие действия:
- Создайте резервную копию документа.
- Загрузите и запустите бесплатный инструмент Structured Storage Viewer.
- Откройте документ в Structured Storage Viewer.
- В представлении документа в виде дерева выберите _VBA_PROJECT_CUR и нажмите кнопку Del, чтобы удалить этот элемент.
- Подтвердите удаление элемента и закройте Structured Storage Viewer.
- Откройте документ в Excel.
- Откроется диалоговое окно Microsoft Visual Basic → Файл не найден . Нажмите кнопку OK.
- Будет показано другое диалоговое окно Восстановление, где будет указан Потерянный проект Visual Basic. Нажмите кнопку Закрыть.
- Сохраните документ.
Теперь вы можете удалить лист с источниками данных для think-cell и затем сохранить документ.
Почему то выводилось сообщение стандартное (о сохранении в существующий файл)
Стер процедуру, переписал, и о чудо… заработало. Так и не понял, где был косяк
VB.NET | ||
|
сейчас код выглядит вот так и работает. По аналогии добавил снятие защиты и обратную постановку на файл.
Добавлено через 6 минут
ovva, Jungl, почему то вот так только работает:
VB.NET | ||
|
В начале тоже написал, как Вы подсказываете. Но работает как в коде выше. :/
Добавлено через 26 минут
Пошли дальнейшие загвоздки с созданием файла из кода VB.Net
VB.NET | ||
|
Не знаю, как написать, что поставить выравнивание по центру.
В VBA работало так:
Visual Basic | ||
|
А вот в VB.Net xlCenter выдает ошибку
Профессионализм и отличная репутация разработчиков вовсе не является гарантией, что созданный ими программный продукт будет работать идеально, поскольку появление ошибок часто бывает связано с внешними факторами. Ошибка «Документ не сохранен» в Microsoft Excel относится как раз к таким случаям. На официальном сайте компании описываются возможные причины неполадки и предлагается несколько решений, но этот список далеко не полный.
Существуют также и другие причины, по которым Excel может не сохранять документ.
Таковыми являются прерывание процесса сохранения, проблемы с сетью, аппаратные неисправности носителя и отсутствие у пользователя необходимых разрешений. Ниже мы рассмотрим их чуть более подробно, но перед этим стоит попробовать простой, но вполне эффективный способ.
Создайте в Excel новый документ и скопируйте в него всё содержимое файла, который не удается сохранить. Сохраните новый документ. Если проблема не устранена, переходим к следующим решениям.
Исключите прерывания
Ошибка «Документ не сохранен» появится, если в момент сохранения файла процесс был прерван нажатием клавиши Esc или вмешательством в него стороннего программного обеспечения. Попробуйте временно закрыть запущенные приложения, после чего сохраните документ.
Проверьте локальную сеть
Если проблема возникла при сохранении документа в сетевую папку, следует проверить работу локальной сети и само локальное подключение. Если с подключением всё в порядке, проверьте задержку при отправке данных по локальной сети, высокий пинг вполне может стать причиной ошибки при сохранении Excel-файла.
Проблемы с накопителем
Если документ сохраняется на внешний накопитель, убедитесь, что он определяется в системе и на него записываются файлы. Проверьте состояние файловой системы накопителя, просканируйте его на предмет поврежденных секторов.
Отсутствие прав на запись
Убедитесь, что папка, в которую вы сохраняете файл, имеет права на запись. С ошибкой сохранения чаще всего приходится сталкиваться пользователям, не имеющим прав администратора, сохранении файла в системные каталоги или каталоги, принадлежащие другому пользователю. Создайте отдельную папку на диске D и попробуйте сохранить документ в нее. Если нужно узнать имя владельца папки, зайдите в ее свойства и нажмите на вкладку «Безопасность» кнопку «Дополнительно».
Запустите Excel в безопасном режиме
Если не один из вышеперечисленных способов не помог, запустите второй экземпляр Excel в безопасном режиме. Для этого вызовите нажатием Win + R окошко быстрого запуска и выполните в нём команду excel /safe.
Будучи запущенным в безопасном режиме, редактор отключает все плагины и надстройки, которые могут работать некорректно. После этого скопируйте из отредактированного документа все данные, перенесите их во второй экземпляр Excel и сохраните обычным путем.
Загрузка…