Excel перезаписывать при сохранении
Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.
Microsoft Excel автоматически сохраняет файл в процессе работы с книгой. Присваивает файлу имя временного файла и помещает файл в ту же папку, где хранится исходная версия. При ручном сохранении книги исходный файл удаляется, а временному файлу присваивается исходное имя файла.
Следующая информация может помочь вам определить возможные причины этой проблемы и предлагает решения для ее устранения.
Возможные причины, по которым документы не сохраняются
Выберите интересующую вас вкладку или перейдите в раздел «Быстрое разрешение».
- Надстройки сторонних разработчиков
- Разрешения
- Документ не сохранен
- Место на диске
- Антивирусное ПО
- Общий доступ к файлам
- Имя файла
Если не удается сохранить книгу в приложении Microsoft Excel, запущенном в безопасном режиме Windows, проблема может быть связана с использованием надстройки стороннего разработчика или файла, находящегося в одной из папок автозагрузки Excel. По умолчанию загрузочные файлы загружаются при запуске Excel.
Некоторые надстройки от сторонних разработчиков ПО предназначены для работы с существующими функциями Excel, тогда как другие обеспечивают удобный переход при использовании программы стороннего производителя. Обычно эти надстройки сторонних разработчиков не влияют на функциональность Excel. Тем не менее, могут быть затронуты некоторые функции, такие как сохранение файла.
Чтобы определить и исключить вероятность того, что надстройка Excel от стороннего разработчика или файл вызывают проблему с сохранением в Excel, попробуйте сохранить файл в безопасном режиме. Для этого выполните следующие действия:
Закройте программу Excel.
Нажмите Пуск и выберите пункт Программы.
Программа Excel обнаружила, что нажата клавиша CTRL. Запустить Excel в безопасном режиме?
Выберите Да.
Откройте новую книгу Excel и постарайтесь сохранить ее. Если это помогло, попробуйте еще раз сохранить проблемный файл.
Если теперь файл сохраняется правильно, то скорее всего причиной возникновения проблемы является пользовательская надстройка или файл в папке автозагрузки Excel. Для устранения проблемы необходимо найти и удалить эту надстройку или файл. После того как вы определили, какая надстройка или файл стали причиной проблемы, свяжитесь с поставщиком для получения дополнительной информации или обновления, которое решит проблему.
Для получения дополнительных сведений о безопасном режиме Microsoft Excel, нажмите в Excel клавишу F1, чтобы перейти в меню «Справка». Введите запрос безопасный режим в поле поиска, а затем нажмите кнопку Поиск, чтобы просмотреть нужные сведения.
Дополнительные сведения о том, как определить папки, которые Excel использует при запуске, и дополнительные параметры для отключения этой функции, см. в следующих статьях:
Чтобы можно было сохранить файл Excel, необходимы перечисленные ниже разрешения на работу с папкой, в которой предполагается сохранить файл.
- Разрешение на чтение
- Разрешение на запись
- Разрешение на изменение
- Разрешения на удаление
Не удается получить доступ к документу только для чтения
- Вы открываете существующий файл, а затем пытаетесь сохранить его.
- Вы сохраняете файл на внешнем или сетевом диске, и происходит сбой подключения.
При отсутствии указанных разрешений процесс сохранения в Excel не может быть завершен.
- Документ не сохранен
- Документ сохранен неполностью
- Документ не сохранен. Все ранее сохраненные копии были удалены.
- Документ не сохранен.
«Документ не сохранен» или «Документ сохранен неполностью»
При попытке создать временный файл процесс был прерван, возможно, по одной из следующих причин:
- Была нажата клавиша ESC
- Аппаратный сбой
- Программный сбой
- Проблема, связанная с носителем
Исходный файл все еще не изменен. Версия файла с текущими изменениями открыта в памяти до тех пор, пока не произойдет сбой на компьютере или рабочей станции.
Попробуйте сохранить файл на альтернативном диске.
Любые изменения, внесенные в последнюю версию, будут утеряны.
«Документ не сохранен». «Все ранее сохраненные копии были удалены» или «Документ не сохранен»
Процесс был прерван во время удаления исходного файла или переименования временного файла. Эта проблема возникает по тем же причинам, которые описаны в разделе «Документ не сохранен» или «Документ сохранен не полностью».
В этом случае исходный файл удаляется (хотя временный файл может быть доступен для чтения). Если на компьютере или рабочей станции произошел сбой, используйте временный файл. Если прерывание произошло по иной причине, то версия файла с текущими изменениями по-прежнему открыта в памяти. Сохраните файл на альтернативном диске.
Чтобы проверить, не конфликтует ли установленное антивирусное ПО с Excel, временно отключите его, затем попробуйте сохранить файл в Excel.
Недопустимое имя файла.
Процесс сохранения файла
Когда приложение Excel сохраняет файл, оно делает это в соответствии с описанной ниже процедурой.
- В целевой папке, указанной в диалоговом окне Сохранить как, Excel создает временный файл со случайным именем (например, Cedd4100 без расширения имени файла). В этот временный файл записывается вся книга.
- Если сохраняются изменения существующего файла, Excel удаляет исходный файл.
- Excel изменяет имя временного файла, присваивая ему имя, указанное в диалоговом окне Сохранить как (например, Book1.xls).
Быстрое разрешение проблемы
Если какая-либо из вышеуказанных причин не относится к вашей ситуации или вам по-прежнему не удается сохранить книги, попробуйте следующие варианты, чтобы сохранить файлы в Excel. Чтобы узнать больше о шагах, выберите изображение шеврона слева или заголовок параметра.
Сохранение книги с новым именем файла
- В меню Файл выберите команду Сохранить как.
- Сохранение книги с уникальным именем
Перемещение исходных листов в новую книгу
- Добавьте лист заполнителя в книгу, Для этого нажмите Shift+F11.
- Сгруппируйте все листы (кроме фильтра). Для этого щелкните первый лист и, нажав и удерживая клавишу Shift, щелкните последний лист.
- Щелкните сгруппированные листы правой кнопкой мыши и выберите команду Переместить или скопировать.
- В списке В книгу выберите пункт (Новая книга).
- Нажмите OK.
Сохранение файла в другом формате Excel
- В меню Файл выберите команду Сохранить как.
- В списке Тип файла выберите формат файла, отличный от текущего. Если используется приложение Microsoft Excel 2007 или более поздней версии, сохраните файл в формате XLSX или XLSM вместо XLS.
Попробуйте сохранить книгу в другом месте
Попробуйте сохранить записную книжку в другом месте, например, на локальном жестком диске, сетевом диске или съемном диске.
Попробуйте сохранить новую книгу в исходном месте
Создайте книгу Excel.
В меню Файл выберите команду Сохранить как.
В диалоговом окне Сохранить как выполните указанные ниже действия.
- В поле Папка выберите папку, в которой хранится исходная книга.
- В поле Имя файла введите имя для нового файла.
- Выберите Сохранить.
Попробуйте сохранить книгу в безопасном режиме
Перезапустите Windows в безопасном режиме и попробуйте сохранить книгу на локальный жесткий диск.
Дополнительные ресурсы
Чтобы избежать проблем с сохранением документов должным образом, мы рекомендуем включить автосохранение. Дополнительные сведения см. в разделе Что такое автосохранение?
Если при использовании Excel у вас возникли определенные проблемы, перейдите на следующий веб-сайт, чтобы найти более подробную информацию о версии вашей программы:
Подробный обзор параметров
В следующем разделе приводится более подробное описание этих вариантов.
Проблемы при сохранении книги Microsoft Excel могут возникнуть, если выполняются какие-либо из указанных ниже условий.
- Пользователь пытается сохранить книгу Excel на сетевом диске при отсутствии необходимых для этого разрешений.
- Вы пытаетесь сохранить книгу Excel на диске с недостаточным объемом свободного места.
- Утрачено соединение с книгой Excel.
- Имеется конфликт с антивирусной программой.
- Предпринимается попытка сохранить общую книгу Excel.
- При сохранении книги Excel превышено ограничение на длину пути (218 знаков).
Обходные пути для сохранения книг Excel
Для временного решения этой проблемы и сохранения работы перед началом устранения неполадок воспользуйтесь следующими способами. Возможно, восстановить текущий файл в его текущем виде не удастся — это зависит от причины проблемы. Однако следующие способы часто оказываются полезны. Они расположены по степени сохранности формата (с учетом попытки сохранить файл в формате, максимально близком к исходному).
Описанные ниже способы не всегда позволяют сохранить все последние изменения, форматирование и параметры, специфичные для используемой версии Excel. Они предназначены для сохранения файла в форме, допускающей его использование. Вам потребуется сохранить файл на локальный жесткий диск, используя уникальное имя файла.
Вариант 1. Сохранение книги с новым именем
- В меню Файл выберите команду Сохранить как.
- Сохранение книги с уникальным именем
Вариант 2. Перемещение исходных листов в новую книгу
Добавьте лист заполнителя в книгу, Для этого нажмите Shift+F11.
Этот лист требуется потому, что после перемещения всех необходимых листов данных в книге должен остаться хотя бы один лист.
Сгруппируйте все листы (кроме фильтра). Для этого щелкните первый лист данных, затем, удерживая клавишу Shift, щелкните последний лист данных.
Щелкните сгруппированные листы правой кнопкой мыши и выберите команду Переместить или скопировать.
В списке В книгу выберите пункт (Новая книга).
Нажмите OK.
В результате этих действий активные (сгруппированные) листы должны переместиться в новую книгу.
Если в книге содержатся макросы VBA, скопируйте модули в новую книгу.
Вариант 3. Сохранение файла в другом формате Excel
- В меню Файл выберите команду Сохранить как.
- В списке Тип файла выберите формат файла, отличный от текущего. Если используется приложение Microsoft Excel 2007 или более поздней версии, сохраните файл в формате XLSX или XLSM вместо XLS.
Вариант 4. Попробуйте сохранить книгу в другое место
Попробуйте сохранить книгу в другом месте, например, на локальном жестком диске, сетевом диске или съемном диске. Если вам удалось это сделать, возможны следующие причины проблемы:
- Конфликт с антивирусной программой
- Отсутствие необходимых разрешений
- Чрезмерная длина имени файла
- Конфликт общего доступа к файлу
Вариант 5. Попробуйте сохранить новую книгу в исходное место.
Чтобы сохранить новый файл Excel в первоначальном месте, выполните следующие действия:
Создайте книгу Excel.
В меню Файл выберите команду Сохранить как.
В диалоговом окне Сохранить как выполните указанные ниже действия.
- В поле Папка щелкните папку, в которой хранится исходная книга.
- В поле Имя файла введите имя для нового файла.
- Выберите Сохранить.
Если новую книгу удается сохранить в первоначальном месте, проблема может быть вызвана указанными ниже причинами.
- Чрезмерная длина имени файла
- Конфликт общего доступа к файлу
Если новую книгу не удается сохранить в первоначальном месте, проблема может быть вызвана указанными ниже причинами.
Если на диске достаточно свободного места, попробуйте способ 3.
Вариант 6. Попробуйте сохранить книгу в безопасном режиме
Перезапустите Windows в безопасном режиме и попробуйте сохранить книгу на локальный жесткий диск.
Примечания.
- Если для сохранения книги используется сетевая папка, перезагрузите Windows в безопасном режиме с поддержкой сети и попытайтесь сохранить книгу еще раз.
- Для устранения неполадок в Microsoft Excel 2010 и более поздних версиях нельзя использовать безопасный режим Windows.
Дополнительные сведения о запуске Windows в безопасном режиме см. Расширенные параметры запуска (включая безопасный режим).
Если книга сохраняется после перезагрузки Windows в безопасном режиме, попытайтесь сохранить файл еще раз. Для этого выберите в меню Файл пункт Сохранить.
Если книга не сохраняется после перезагрузки Windows в безопасном режиме, проблема может быть вызвана указанными ниже причинами:
Сейчас работает выгрузка из датагрид в exel и сохранение документа с запросом к пользователю, но надо, чтобы сохранение происходило автоматически.
ExcelWorkBook.SaveAs(@"C:\Users\admin\Documents" + k + ".xls", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefaul t, Type.Missing, Type.Missing, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange , Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
По идее, как я поняла, за сохранение отвечает эта строчка, но она выдает ошибку Use of unassined local variable.
Закрытие книги Excel без запроса на сохранение
Excel.Application xlApp = new Excel.Application(); //Excel Excel.Workbook xlWB; //рабочая книга .
Выход без запроса на сохранение
Как сделать так, чтобы при закрытии не было запроса на сохранение?
Сохранение документа Word без запроса
Подскажите как отловить событие - когда пользователь нажал на кнопку Закрыть в документе Ворд и.
Закрыть форму без запроса на сохранение
Есть форма которая служит для ввода параметров по котором формируется отчет, например пользователь.
Ma_Russia, вызов SaveAs в самом деле выполняет сохранение. Тебе нужно всего лишь записать в переменную k имя файла без расширения.
В переменной содержится счетчик, который и должен быть именем файла
Ругается именно на ExcelWorkBook
Ma_Russia, невнимательно посмотрел. Переменная ExcelWorkBook же неинициализирована. Меняем строку №5 на
Спасибо!
уже хотя бы компилится, но вылезает такая ошибка
файла нет по тому пути, мб я не ту функцию использую? тк это я создаю файл, а не пересохраняю уже созданный
*ну и параллельно я путь поменяла, куда сохранять немного, как видно из ошибки*
Не могу сообразить как это записать..
на Microsoft.Office.Interop.Excel.xlLocalSessionChanges он ругается:
The type or namespace name 'xlLocalSessionChanges' does not exist in the namespace 'Microsoft.Office.Interop.Excel' (are you missing an assembly reference?)
Хотя парой аргументов до этого я описывала Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefaul t и все ок было
Простите, но я все таки поверю проверенному Excel чем вашей внимательности) Вы, возможно, смотрите не в той директории, или не под тем пользователем или ещё что-то. У вас в коде путь
Я ж написала, что поменяла путь.
Ладно, уже ушла с работы, так что этот вопрос у меня завис до утра след дня.
Спасибо за подсказку, завтра все буду проверять!)
Решение
Ma_Russia, У меня вопрос. Какая версия Excel у вас установлена на компьютере?
Предлагаю следующие варианты Excel 97, 2000, 2003, 2007, 2010, 2013, 2016.
Если у вас установлена одна из версий 2007, 2010, 2013, 2016, то почему вы сохраняете с форматом XLS?
Аргумент XlFileFormat.xlWorkbookDefault говорит "необходимо сохранить файл с форматом "XLSX"
Вам нужно сперва определится какая версия Excel у вас стоит и с каким форматом вы хотите сохранить файл
Я сейчас переписал ваш код немного. Попробуйте его.
Напишите эту строку в самом верху
using Excel = Microsoft.Office.Interop.Excel;
почитайте комментарии в коде.
Если вам надо сохранить файл именно в формате Excel 2003, то раскомментируйте этот блок, а другой блок, который сохраняет в формате Excel 2007 наоборот закомментируйте.
и укажите свой путь к сохранению файла.
У меня установлен Excel 2013, соответственно я сохраняю файл в формат Excel 2007 (XLSX)
Не по теме: я не советую вам сохранять данные из DataGridView таким способом - бегая циклом по ячейкам листа Excel. Это очень медленный способ. Нужно сперва данные загружать в двумерный массив из DataGridView, а потом одной строкой выгружать их на лист в Excel
Офис 2007. Открываю один файл эксель, ничего не делаю, даже не листаю и никуда не кликаю, потом закрываю. И он спрашивает сохранять ли изменения. Но ведь никаких изменений не было. Файл просто открыли и закрыли. А с другими файлами всё нормально. Подскажите, от чего так происходит и что надо сделать, что бы он не спрашивал о сохранении изменений в таких случаях. Заранее благодарю за помощь.
Возможно вы открываете файл старого формата. Например из Excell 2003. Там точность чисел меньше, поэтому Эксель заново пересчитывает значения во всех ячейках с формулами с лучшей точностью. Поскольку произошли вычисления, эксель автоматически помечает файл, как измененный, и предлагает его сохранить.
На вопрос "Что делать? " есть 3 варианта:
1. Открывать файл только для чтения.
2. Не открывать файл.
3. Открывать файлы только нового формата.
Нет, файл одного и того же формата 2007. Но там действительно есть формулы. В случаях с формулами всегда пересчёт при открытии идёт и файл как не сохранённый помечается?
Алексей Плескач Мыслитель (8992) Нет. Не всегда. Пересчет может быть, если файл более старого формата или если в формулах есть ссылки на другие файлы.
Такое происходит, если в формулах рабочего листа или в определении имени используются "летучие функции". Летучие функции автоматически пересчитываются при открытии книги, если в Excel установлен автоматический пересчет; если установлен пересчет "вручную", то функции не пересчитываются при открытии и, соответственно, книга не помечается, как измененная.
"Летучих" функций всего 8, вот они:
СЛЧИС
СЛУЧМЕЖДУ
СЕГОДНЯ
ТДАТА
ЯЧЕЙКА
СМЕЩ
ДВССЫЛ
ИНФОРМ
Другой случай: в книге есть макросы-обработчики событий (например, Workbook_Open), которые автоматически запускаются (если установлены соответствующие разрешения в Excel) при возникновении определенных событий (пример события - открытие книги) и которые в ходе своего выполнения могут изменять содержимое книги.
Алексей Плескач, файлы новых форматов в вышеупомянутых мной случаях также пересчитываются (или иным образом изменяются макросами) и задают вопрос при закрытии книги. Кроме того, при открытии файла только для чтения, вопрос о сохранении при закрытии также задается.
Про сборку листов из нескольких книг в одну текущую я уже писал здесь. Теперь разберем решение обратной задачи: есть одна книга Excel, которую нужно "разобрать", т.е. сохранить каждый лист как отдельный файл для дальнейшего использования.
Примеров подобного из реальной жизни можно привести массу. Например, файл-отчет с листами-филиалами нужно разделить на отдельные книги по листам, чтобы передать затем данные в каждый филиал и т.д.
Если делать эту процедуру вручную, то придется для каждого листа выполнить немаленькую цепочку действий (выбрать лист, правой кнопкой по ярлычку листа, выбрать Копировать, указать отдельный предварительно созданный пустой файл и т.д.) Гораздо проще использовать короткий макрос, автоматизирующий эти действия.
Способ 1. Простое разделение
Нажмите сочетание Alt+F11 или выберите в меню Сервис - Макрос - Редактор Visual Basic (Tools - Macro - Visual Basic Editor) , вставьте новый модуль через меню Insert - Module и скопируйте туда текст этого макроса:
Если теперь выйти из редактора Visual Basic и вернуться в Excel, а затем запустить наш макрос (Alt+F8), то все листы из текущей книги будут разбиты по отдельным новым созданным книгам.
Способ 2. Разделение с сохранением
При необходимости, можно созданные книги сразу же сохранять под именами листов. Для этого макрос придется немного изменить, добавив команду сохранения в цикл:
Этот макрос сохраняет новые книги-листы в ту же папку, где лежал исходный файл. При необходимости сохранения в другое место, замените wb.Path на свой путь в кавычках, например "D:\Отчеты\2012" и т.п.
Если нужно сохранять файлы не в стандартном формате книги Excel (xlsx), а в других (xls, xlsm, xlsb, txt и т.д.), то кроме очевидного изменения расширения на нужное, потребуется добавить еще и уточнение формата файла - параметр FileFormat:
Для основных типов файлов значения параметра FileFormat следующие:
- XLSX = 51
- XLSM = 52
- XLSB = 50
- XLS = 56
- TXT = 42
Способ 3. Сохранение в новые книги только выделенных листов
Если вы хотите раскидать по файлам не все листы в вашей книге, а только некоторые, то макрос придется немного изменить. Выделите нужные вам листы в книге, удерживая на клавиатуре клавишу Ctrl или Shift и запустите приведенный ниже макрос:
Создавать новое окно и копировать через него, а не напрямую, приходится потому, что Excel не умеет копировать группу листов, если среди них есть листы с умными таблицами. Копирование через новое окно позволяет такую проблему обойти.
Способ 4. Сохранение только выделенных листов в новый файл
Во всех описанных выше способах каждый лист сохранялся в свой отдельный файл. Если же вы хотите сохранить в отдельный новый файл сразу группу выделенных предварительно листов, то нам потребуется слегка видоизменить наш макрос:
Способ 5. Сохранение листов как отдельных PDF-файлов
- для этого используется уже другой метод (ExportAsFixedFormat а не Copy)
- листы выводятся в PDF с параметрами печати, настроенными на вкладке Разметка страницы (Page Layout)
- книга должна быть сохранена на момент экспорта
Нужный нам код будет выглядеть следующим образом:
Способ 6. Готовый макрос из надстройки PLEX
Если лень или нет времени внедрять все вышеописанное, то можно воспользоваться готовым макросом из моей надстройки PLEX:
Совет: Внесены ли нежелательные изменения перед сохранением копии? Это не проблема. Вы можете вернуться к исходному файлу, выбрать заголовок документа над лентой и восстановить предыдущую версию файла с помощью истории версий.
Перед Microsoft 365 отредактировать файл и сохранить изменения как новый документ с помощью функции "Сохранить как". В наши дни с автоскрытием изменения всегда сохраняются, поэтому вы не потеряете свою работу. Чтобы случайно не сохранять изменения в исходном файле, перед внесением изменений сохраните копию, чтобы не переписать оригинал.
Повесть о том, как сохранить автосохранения и копию
Откройте файл, который нужно скопировать
Инга использует ежемесячный отчет о бюджете Excel, который она создала для отслеживания расходов своей команды для возмещения расходов.
Тодд стал руководителем собственной команды и хочет отслеживать свои ежемесячные расходы. Вместо того чтобы делать это с нуля, он решает, что эффективнее использовать в качестве шаблона отчет Инга о бюджете.
Сохранение копии для использования в качестве отправной точки
Тодд переходит на сайт SharePoint группы Инга и открывает отчет о бюджете Excel за последний месяц. Так как таблица находится в облаке, Тодд знает, что изменения, внесенные им в файл, будут автоматически сохраняться при его внесении.
Так как он не хочет перезаписывать данные Инга, перед внесением каких-либо изменений он переходит в папку "Файл" и нажимает кнопку "Сохранить копию", чтобы скачать копию отчета в свое хранилище OneDrive.
Внесение изменений в скопированный файл
После сохранения в oneDrive файл автоматически открывается в Excel. Теперь Тодд работает в своей версии отчета Инга и безопасно вносить изменения, не беспокоясь об изменении ее данных.
Он изменяет название и номер в центре затрат и очищает поля, необходимые для заполнения. Тодд знает, что при автосохраненияв его отчете всегда будут сохраняться последние изменения.
Удаление ненужных изменений с помощью истории версий
Тодд сделал несколько копий своего отчета о бюджете, чтобы подготовиться к будущему. Однако он только что понял, что отчет за следующий месяц, который он обновлял с помощью чисел, фактически является отчетом за последний месяц. Хотя изменения, внесенные на его данных, были автоматически сохраняться, Тодд не беспокоится, так как может восстановить предыдущую версию файла с помощью истории версий.
Он выбирает заголовок своего отчета о бюджете и выбирает "История версий". Он может видеть различные моменты времени, когда Excel создал версию файла и открывает ее без случайных изменений в новом окне. Теперь он может легко восстановить свой файл, не повредив его!
Читайте также: