Вопрос или проблема
У меня установлена Excel 2013 64bit, которая запускает макрос, проходящий через серию файлов на моем локальном диске, открывающий их, обновляющий содержащиеся в них запросы Power, сохраняя и закрывая; этот процесс выполняется ежедневно и работает хорошо с самого начала.
Вчера один из файлов не удалось сохранить, поступило сообщение “ваши изменения не могут быть сохранены из-за нарушения доступа”, затем Excel пытается заставить меня сохранить с другим именем. Я также не могу удалить или вырезать файл, появляясь сообщение, что файл “открыт в системе”.
С тех пор, как это произошло, такое поведение распространилось на еще два файла, сделав их бесполезными. Я не могу найти рациональное объяснение или решение этой проблемы, а этот процесс критически важен для моей компании.
Сохранение в другой директории тоже не вариант, потому что эти файлы отображаются как исходные файлы для многих отчетов Tableau, и их необходимо читать на текущем месте и с текущим именем.
Любая помощь или подсказки будут очень полезны!
На Mac с системой Catalina (OS X 10.15.4) включение полного доступа к диску в “Системных настройках/Конфиденциальность” для каждого инструмента Microsoft Office (Excel, PowerPoint, Word) кажется, решает проблему. Это решение было отмечено в службе поддержки G-Suite и на сайте Microsoft, но эти темы почему-то заблокированы…
Вам нужно выяснить что удерживает файлы заблокированными, чтобы к ним нельзя было записать. Это может быть сама Excel (возможно, открыта вторая копия Excel в это же время? Можете ли вы запустить приложение в другой копии?? Могла ли предыдущая копия зависнуть, оставив файл заблокированным???) или другая программа, например, антивирусное приложение, открыло файл.
Существуют различные способы контроля доступа к файлу, чтобы проверить, что его использует, как было отвечено на StackExchange. Microsoft предоставляет краткое объяснение, а Webspy и Lepide предлагают дальнейшие объяснения.
Еще одним полезным инструментом является LockHunter, который сообщит вам, какой процесс блокирует файл и позволит вам разблокировать его.
Ответ или решение
Ваша проблема с сохранением файла: причины и решения
Сообщение об ошибке "ваши изменения не могут быть сохранены из-за нарушения доступа" возникает, когда программное обеспечение не имеет возможности записать данные в файл. Это может быть связано с несколькими причинами, особенно в контексте вашего сценария автоматизации в Excel 2013 64-bit, когда макрос работает с несколькими файлами и выполняет операции обновления.
Причины нарушения доступа
-
Файл открыт в другом процессе или экземпляре Excel:
- Убедитесь, что нет других открытых экземпляров Excel или других приложений, которые могут иметь доступ к этим файлам. Иногда файлы остаются заблокированными после неожиданного завершения работы Excel.
-
Проблемы с правами доступа:
- Проверьте, что у вас есть необходимые права на запись и изменение файлов. Иногда антивирусные программы или политики безопасности могут блокировать доступ к файлам.
-
Поврежденные файлы:
- Если файл поврежден, он может не открываться или блокироваться определенными процессами. Проверьте целостность файлов с помощью встроенных инструментов восстановления Excel.
-
Программы в фоновом режиме:
- Некоторые фоновые программы, такие как синхронизация с облачными сервисами (например, OneDrive или Google Drive), могут удерживать файл открытым для синхронизации.
Решения
1. Поиск процесса, блокирующего файл
Используйте утилиты, такие как LockHunter или Process Explorer от Microsoft, чтобы определить, какой процесс открывает файл. Эти инструменты помогут вам освободить файл от блокировки.
- LockHunter: простой в использовании инструмент, который позволяет идентифицировать и разблокировать файлы.
- Process Explorer: более сложный инструмент, который предоставляет подробную информацию о работающих процессах и их доступе к файлам.
2. Проверка антивирусного программного обеспечения
Иногда антивирус может блокировать доступ к файлам. Проверьте настройки вашего антивируса и временно отключите его, чтобы выяснить, не является ли он источником проблемы.
3. Аудит доступа к файлам
Настройка аудита доступа к файлам в Windows может помочь отслеживать, какие процессы обращаются к файлам. Для этого следуйте следующей инструкции:
- Правый клик на файл → Свойства → Безопасность → Дополнительно → Аудит.
- Добавьте пользователей или группы, для которых вы хотите отслеживать доступ.
Таким образом, вы сможете получить отчет о том, какие процессы обращаются к вашим файлам.
4. Полный доступ к диску на macOS
Если вы используете macOS, особенно версию Catalina (OS X 10.15.4), убедитесь, что Excel и другие приложения имеют полный доступ к диску. Это можно проверить в "Системных настройках" -> "Конфиденциальность" -> "Полный доступ к диску".
Заключение
Решение проблемы "ваши изменения не могут быть сохранены из-за нарушения доступа" требует систематического подхода. Исследование потенциальных источников блокировки файлов, такие как другие процессы, неполные права доступа или антивирусные программы, является ключевым шагом в устранении ошибки. Постепенно применяя описанные выше методы, вы сможете восстановить доступ к вашим файлам и обеспечить стабильность автоматизации вашего процесса с Excel.