1

Я хотел бы позволить пользователю работать с уже созданной книгой Excel - скажем, A.xlsx- в папке. Он сможет открыть, изменить его и сохранить. Он не может переименовывать / удалять его или другие файлы, а также создавать новые файлы / папки в этой папке.

Как я могу сделать это? Я попытался установить дополнительные разрешения. В папке только я отключен

  • Создавать файлы
  • Создавать папки
  • Удалить подпапки и файлы
  • удалять

а в A.xlsx я отключил

  • Удалить подпапки и файлы
  • удалять

Таким образом, мне удалось отключить удаление и создание новых файлов / папок, но когда я хочу сохранить A.xlsx, перезаписав его, он говорит «файл не был сохранен», поскольку у него нет разрешения в этом каталоге.

1 ответ1

0

В папке (важно: установите для параметра Применяется для правила доступа значение Только эта папка), убедитесь, что у пользователя есть только эти разрешения:

  • Переместить папку / выполнить файл
  • Список папок / чтение данных
  • Читать атрибуты
  • Читать расширенные атрибуты

(Если вы устанавливаете запрещенную запись, заблокируйте их: создание файлов, создание папок, запись атрибутов, запись расширенных атрибутов, удаление подпапок и файлов, удаление, изменение разрешений, вступление в права собственности.) В файле запретите эти разрешения для пользователя:

  • удалять
  • Изменить разрешения
  • Взять на себя ответственность

Такое расположение дает желаемые результаты для меня в Windows 10. Вы можете использовать вкладку «Эффективный доступ» папки и файла, чтобы убедиться, что у вас нет других правил, мешающих этим.

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

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


В частности, для файлов Excel это не делает всю работу. Офисные программы всегда сохраняют документ во временный файл, удаляют оригинал, а затем переименовывают временный в настоящий. Вы можете обойти это, возившись с реестром, как указано в этой статье Microsoft. Откройте этот ключ в учетной записи пользователя:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Common\General

Для Office 2013 измените 14.0 на 15.0 . (16.0 для Office 2016.) Создайте новое значение DWORD с именем EnableSimpleCopyForSaveToUNC с данными 1 . Вам также придется изменить права доступа к папке, чтобы пользователь мог создавать файлы и записывать данные . (Но поскольку он находится только в папке, пользователь не сможет связываться с чем-либо еще в нем, а только будет создавать новые файлы.) Это позволит пользователю сохранить документ Excel, но, к сожалению, временный файл останется.

Потенциальные комментаторы могут подумать, что разрешения CREATOR OWNER , жесткие ссылки или сетевые ресурсы могут помочь с этим, но нет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .