Excel сообщение при сохранении

 

Сливочный

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

Здравствуйте уважаемые специалисты. Перед сохранением файла выскакивает сообщение
Будьте внимательны! в документе могут быть персональные данные, которые невозможно удалить с помощью инспектора документов.
Как его убрать? Спасибо.

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

В параметрах конфиденциальности снять галку «Удалять личные сведения…» Не оно?

 

Сливочный

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

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

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

 

Сливочный

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

 

MuRoW

Пользователь

Сообщений: 1
Регистрация: 11.12.2015

спасибо, был аналогичный вопрос, очень помогли.  

 

Спасибо.! Тоже уже который раз забываю где эта настройка находится.  

Не перестаю удивляться возможностям excel и VBA.

 

Inexsu

Пользователь

Сообщений: 758
Регистрация: 29.06.2017

#8

20.03.2018 08:46:30

Привет!
Из закромов:

Код
Sub ПредупреждениеОКонфиденциальнойИнформацииОтключить()
    ' On Error Resume Next
  If ActiveWorkbook.RemovePersonalInformation Then
    ActiveWorkbook.RemovePersonalInformation = False
    Call MsgBoxAutoClose("Отключено", "Предупреждение О Конфиденциальной Информации", 4)
  End If
End Sub

Сравнение прайсов, таблиц — без настроек

 

falmrom

Пользователь

Сообщений: 349
Регистрация: 15.04.2018

Спасибо большое! Вопрос закрыт, ответ получен!

 

SNegra

Пользователь

Сообщений: 2
Регистрация: 20.07.2019

Office 2019:
Файл
Параметры
Центр управления безопасностью
Параметры центра управления безопасностью
Параметры конфиденциальности
☑Удалять персональные данные из свойств файла при сохранении (раздел «Параметры для конкретного документа»)
Удачи ;)

 

Wiss

Пользователь

Сообщений: 1028
Регистрация: 08.11.2016

#11

20.08.2019 17:32:30

Цитата
Inexsu написал:
Привет!Из закромов:

Спасибо, мил человек! Выкину себе на панель быстрого доступа.

А не поделитесь модулем MsgBoxAutoClose, чтобы совсем счастье наступило?..

Я не волшебник, я только учусь.

 

Wiss

Пользователь

Сообщений: 1028
Регистрация: 08.11.2016

#12

20.08.2019 17:40:54

Нагуглил. Может, кому пригодится…

Код
Declare Function MessageBoxTimeOut Lib "User32" Alias "MessageBoxTimeoutA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal uType As VbMsgBoxStyle, ByVal wLanguageId As Long, ByVal dwMilliseconds As Long) As Long

Sub MsgBoxAutoClose(Optional ByRef stext As String, _
                    Optional ByRef sTitle As String, _
                    Optional ByRef lSec As Long)
    If lSec = 0 Then lSec = 3
    If stext = "" Then _
       stext = " через " & lSec & " сек"
    If sTitle = "" Then sTitle = "Окно закроется само ... "
 
    MessageBoxTimeOut 0, stext, sTitle, _
                      vbInformation + vbOKOnly, 0&, lSec * 1000
End Sub

Я не волшебник, я только учусь.

 

sokol92

Пользователь

Сообщений: 4445
Регистрация: 10.09.2017

#13

20.08.2019 19:53:32

Лучше использовать соответствующий метод объекта WScript.Shell.

Код
Sub test()
    Dim WshShell As Object
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Popup "Текст сообщения", 2, "Текст заголовка", vbExclamation  ' ждем две секунды
End Sub

Владимир

 

БМВ

Модератор

Сообщений: 21376
Регистрация: 28.12.2016

Excel 2013, 2016

А я обычно WshShell.run «msg * /Time:5 Это текст сообщения» пользовал. Правда в VBS. Даже если пользователь не залогинен,  то будет сообщение   :-)

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

 

karandaev

Пользователь

Сообщений: 9
Регистрация: 09.07.2018

 
 

Татьяна Агафонова

Пользователь

Сообщений: 140
Регистрация: 20.04.2011

#17

27.10.2020 10:38:21

Цитата
Inexsu написал:
Из закромов:

Класс. Работает. А то ужас что творилось.
MsgBoxAutoClose — просто предупреждал об удалении конфиденциальной информации? Удалила эту строку…

 

borro

Пользователь

Сообщений: 198
Регистрация: 01.01.1970

#18

27.01.2023 12:28:58

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

Скрытый текст

Перед закрытием с сохранением каждого файла вылетает это самое сообщение:

Цитата
Будьте внимательны! в документе могут быть персональные данные, которые невозможно удалить с помощью инспектора документов.

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

желаю всем счастья

 

Jack Famous

Пользователь

Сообщений: 10846
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#19

27.01.2023 12:42:42

Цитата
sokol92: Лучше использовать соответствующий метод объекта WScript.Shell.

приветствую!
Висит намного дольше указанного времени в секундах и не реагирует на время менее 1 секунды. Использую API.

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Борис

Пользователь

Сообщений: 198
Регистрация: 01.01.1970

Добавил
Application.DisplayAlerts = False
в свою процедуру. Полёт нормальный

 

DaN

Пользователь

Сообщений: 22
Регистрация: 20.02.2023

#21

21.02.2023 01:52:25

Цитата
написал:
Добавил
Application.DisplayAlerts = False
в свою процедуру. Полёт нормальный

Счастья тебе мил Человек! оочень выручил, спасибище!

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

  1. 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.

  2. Choose «Developer» from the menu and select «Macros.» Type a name for your macro and choose «Create» to open the VBA editor.

  3. 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

  1. 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

  2. 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

  3. 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

  1. Select «File» and «Close and Return to Microsoft Excel» after you create your macros and associated subroutines.

  2. Select «Developer» from the menu, choose «Macros,» highlight your macro and select «Run» to run and test it.

  3. 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: при сохранении были обнаружены ошибки.

При нажатии кнопки Продолжить, процесс восстановления завершается ошибкой.

Excel 2007 или 2010: если вы пытаетесь вставить новый лист Excel вместо сохранения файла, программа аварийно завершается.

Причина

Проблема обусловлена программной ошибкой в Excel. Мы отправили отчет о данной ошибке компании Microsoft. Если у вашей компании есть контракт на поддержку Microsoft Office и вы хотите обратиться в Microsoft за исправлением, вы можете указать номер обращения Microsoft 114072911657591. Ошибку можно воспроизвести и без надстройки think-cell.

Воспроизведение ошибки без think-cell

Выполните следующие действия.

  1. Запустите Excel и создайте новый пустой файл.
  2. Введите 100 в ячейках A1 и A2 первого листа, Лист1.
  3. Выберите ячейки A1:A2 в Лист1 и нажмите Ctrl + C, чтобы скопировать значения.
  4. (Только при попытке воспроизведения ошибки в Excel 2013 или более поздней версии: вставьте второй лист. В более предыдущих версиях Excel три листа по умолчанию, поэтому это не требуется.)
  5. Нажмите Alt + F11, чтобы открыть окно редактора Microsoft Visual Basic для приложений и оставьте его открытым.
  6. Запустите Word и создайте новый пустой файл.
  7. Выберите в меню Word пункт ГлавнаяВставитьСпециальная вставкаВставить ссылку: объект листа Microsoft Excel и нажмите кнопку OK.
  8. В Excel нажмите правой кнопкой мыши на вкладку Лист1 и выберите команду Удалить.
  9. Попробуйте сохранить файл Excel. В Excel появляется сообщение об ошибке:
    «Обнаружены ошибки при сохранении [имя файла]». Microsoft Excel может сохранить файл, удалив или исправив некоторые функции. Чтобы провести восстановление в новом файле, нажмите на кнопку «Далее». Для отмены сохранения файла нажмите на кнопку «Отмена».

    При нажатии кнопки Продолжить, процесс восстановления завершается ошибкой.

    Excel 2007 или 2010: если вы пытаетесь вставить новый лист Excel вместо сохранения файла, программа аварийно завершается.

Решение

При возникновении такой ошибки вы можете сохранить данные в новый документ Excel или сбросить изменения и восстановить исходный документ:

Сохранение данных в новом документе Excel

Для сохранения изменений, внесенных в документ, скопируйте измененные листы в новый документ Excel и сохраните последний.

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

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

  1. Создайте резервную копию документа.
  2. Загрузите и запустите бесплатный инструмент Structured Storage Viewer.
  3. Откройте документ в Structured Storage Viewer.
  4. В представлении документа в виде дерева выберите _VBA_PROJECT_CUR и нажмите кнопку Del, чтобы удалить этот элемент.
  5. Подтвердите удаление элемента и закройте Structured Storage Viewer.
  6. Откройте документ в Excel.
  7. Откроется диалоговое окно Microsoft Visual Basic → Файл не найден . Нажмите кнопку OK.
  8. Будет показано другое диалоговое окно Восстановление, где будет указан Потерянный проект Visual Basic. Нажмите кнопку Закрыть.
  9. Сохраните документ.

Теперь вы можете удалить лист с источниками данных для think-cell и затем сохранить документ.

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

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
oExcelCalc.Visible = False ' запрет видимости открываемых файлов Excel
            Dim strExportCalcName As String ' название файла калькуляции для экспорта.
            oExcelCalc.Application.DisplayAlerts = False
            For intRowsNomber = 0 To Me.DataGridView1.Rows.Count - 1
                strExportCalcName = Me.DataGridView1.Item(0, intRowsNomber).Value
                If Me.DataGridView1.Item(25, intRowsNomber).Value <> "Устаревшая версия калькуляционной карты" Then
                    oExcelCalc.Workbooks.Open(strExportCalcName) ' Открыть файл 
                    oExcelCalc.ActiveSheet.Unprotect(Password:="112233")
                    oExcelCalc.Range("R20").Value = CDbl(Me.DataGridView1.Item(8, intRowsNomber).Value / 100) ' 
                    oExcelCalc.Range("R21").Value = CDbl(Me.DataGridView1.Item(9, intRowsNomber).Value / 100) ' 
                    oExcelCalc.Range("U23").Value = CDbl(Me.DataGridView1.Item(10, intRowsNomber).Value) ' 
                    oExcelCalc.Range("U28").Value = CDbl(Me.DataGridView1.Item(20, intRowsNomber).Value / 100) ' 
                    oExcelCalc.Range("BE28").Value = Me.DataGridView1.Item(24, intRowsNomber).Value ' 
                    oExcelCalc.Range("BE26").Value = Me.TextBox1.Text ' 
                    oExcelCalc.Range("BE27").Value = Me.Label2.Text ' 
 
                    oExcelCalc.ActiveSheet.Protect(Password:="112233", DrawingObjects:=True, Contents:=True, Scenarios:=True)
                    oExcelCalc.ActiveWorkbook.Save() ' Сохранение изменений в файле
                    oExcelCalc.ActiveWorkbook.Close() ' Закрытие файла калькуляции
                End If
            Next

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

Добавлено через 6 минут
ovva, Jungl, почему то вот так только работает:

VB.NET
1
oExcelCalc.Application.DisplayAlerts = False

В начале тоже написал, как Вы подсказываете. Но работает как в коде выше. :/

Добавлено через 26 минут
Пошли дальнейшие загвоздки с созданием файла из кода VB.Net

VB.NET
1
oExcelCalc.Range("A11:F11").HorizontalAlignment = ?????

Не знаю, как написать, что поставить выравнивание по центру.
В VBA работало так:

Visual Basic
1
2
    Range("A11:F11").Select
    Selection.HorizontalAlignment = xlCenter

А вот в VB.Net xlCenter выдает ошибку

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

Существуют также и другие причины, по которым Excel может не сохранять документ.

Ошибка «Документ не сохранен» в Microsoft Excel

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

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

Исключите прерывания

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

Проверьте локальную сеть

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

Проблемы с накопителем

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

Отсутствие прав на запись

Убедитесь, что папка, в которую вы сохраняете файл, имеет права на запись. С ошибкой сохранения чаще всего приходится сталкиваться пользователям, не имеющим прав администратора, сохранении файла в системные каталоги или каталоги, принадлежащие другому пользователю. Создайте отдельную папку на диске D и попробуйте сохранить документ в нее. Если нужно узнать имя владельца папки, зайдите в ее свойства и нажмите на вкладку «Безопасность» кнопку «Дополнительно».

Безопасность

Запустите Excel в безопасном режиме

Если не один из вышеперечисленных способов не помог, запустите второй экземпляр Excel в безопасном режиме. Для этого вызовите нажатием Win + R окошко быстрого запуска и выполните в нём команду excel /safe.

Excel в безопасном режиме

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

Загрузка…

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel сообщение при открытии файла
  • Excel сообщение при запуске
  • Excel сообщение если значение в ячейке
  • Excel сообщение будьте внимательны в документе могут быть персональные данные
  • Excel сокращенные дни недели

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии