1

Тема: Сетевой шаблон документа

Какие существуют особенности при создании документа из шаблона находящегося на сетевом ресурсе?
В частности, так же, интересуют такие моменты как:
- количество пользователей одновременно пользующихся шаблоном (количество одновременно открытых документов на компьютерах сети использующих шаблон);
- возможность определения на каких компьютерах сети открыт документ использующий шаблон.

С уважением

2

Re: Сетевой шаблон документа

mikkelle пишет:

- количество пользователей одновременно пользующихся шаблоном (количество одновременно открытых документов на компьютерах сети использующих шаблон);
- возможность определения на каких компьютерах сети открыт документ использующий шаблон.

Добрый день!
Если я вас правильно понял, вам нужно программно создавать документы на основе шаблона, лежащего в сети. Для данного случая ответы следующие:
1)Количество пользователей не ограничено. Фактически происходит просто чтение .dot с сетевого диска и создание на его основе нового файла. При этом исходный файл не блокируется.
2)Поскольку файл не блокируется узнать, кто и когда создавал документ на основе этого шаблона нельзя.
Если пользователь ручками откроет шаблон то он заблокируется для редактирования. Тогда логин негодяя вам сообщит система при попытке открытия этого шаблона.

Если стоит задача снятия статистики по интенсивности использования можно просто вести логи и при каждом создании документа писать в базу/файл запись вида "%Username% открыл файл %filename% , %Date , Time%"

Рекомендую обрабатывать ошибки, связанные с открытием файла(на случай, если сетевой диск не доступен).

3

Re: Сетевой шаблон документа

Qra пишет:

При этом исходный файл не блокируется.

Здравствуйте.
Понятно, что при создании документа идет копирование шаблона из сети на компьютер, а Ворд создает запись пути к месторасположению исходного шаблона, что бы при последующем открытии документа он вновь загружался.
Так вот, если где либо на локальном компьютере открыт документ, созданный на базе сетевого шаблона, файл шаблона блокируется как для удаления, так и для редактирования (точнее редактировать возможно, а сохранить изменения можно только под новым именем). При этом выдается сообщение системы об ограничениях над действиями с этим файлом.
Вопрос заключается в том, что бы определить, на каком именно компьютере сети открыт документ, использующий данный шаблон! А может есть какие то другие средства, что бы разблокировать доступ к редактированию файла шаблона?

4

Re: Сетевой шаблон документа

mikkelle пишет:

файл шаблона блокируется как для удаления, так и для редактирования (точнее редактировать возможно, а сохранить изменения можно только под новым именем). При этом выдается сообщение системы об ограничениях над действиями с этим файлом.
Вопрос заключается в том, что бы определить, на каком именно компьютере сети открыт документ, использующий данный шаблон! А может есть какие то другие средства, что бы разблокировать доступ к редактированию файла шаблона?

Попробовал, действительно блокируется. Выяснить, кто именно открыл  файл тоже не получилось.
Предлагаю такой вариант:
Программно копируем шаблон к себе(например в C:\TEMP\)
Создаем документ на основе копии(оригинал не заблокируется)
По окончании редактирования и закрытии ворда удаляем копию документа.
Так при каждом запуске скрипта.
Второй вариант - логи.
По ним сможем следить кто открыл/закрыл документ. У кого будет запись о открытии, но не будет записи о закрытии - тот и держит документ открытым.

Лично мне более симпатичен первый вариант

5

Re: Сетевой шаблон документа

mikkelle пишет:

- возможность определения на каких компьютерах сети открыт документ использующий шаблон.

Уважаемый mikkelle! Похожий вопрос, как мне кажется, обсуждался у нас на форуме в этой ветке:
http://wordexpert.ru/forum/viewtopic.php?id=1095

Если в сетевой папке формируется файл ~$<Имя_файла>.docx, то в его тексте должно быть указано имя учетной записи пользователя, заблокировавшего файл (или шаблон).

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

6

Re: Сетевой шаблон документа

Qra пишет:

Предлагаю такой вариант:
Программно копируем шаблон к себе(например в C:\TEMP\)
Создаем документ на основе копии(оригинал не заблокируется)
По окончании редактирования и закрытии ворда удаляем копию документа.
Так при каждом запуске скрипта.

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

Qra пишет:

Второй вариант - логи.
По ним сможем следить кто открыл/закрыл документ. У кого будет запись о открытии, но не будет записи о закрытии - тот и держит документ открытым.

А вот про этот вариант по подробней можно?

Alex_Gur пишет:

Если в сетевой папке формируется файл ~$<Имя_файла>.docx, то в его тексте должно быть указано имя учетной записи пользователя, заблокировавшего файл (или шаблон).

Да, действительно, в файле можно увидеть информацию по имени открывшего файл пользователя. Спасибо.
И вот еще что интересное выяснилось. Если создавать последующие файлы из сетевого шаблона, то новые копии временного рабочего ~$.<Имя файла>.dotm файла не создаются, а файл содержит информацию только о пользователе первым создавшим документ из шаблона. Если теперь первый пользователь закрывает свой документ, временный файл исчезает из каталога, и шаблон становится ни к чему не привязан и открыт для редактирования (вплоть до удаления) невзирая на то, что открыты другие документы, созданные на базе этого шаблона.

7

Re: Сетевой шаблон документа

mikkelle пишет:

А вот про этот вариант по подробней можно?

В событие открытия шаблона добавляете код:

filename = "Z:\logs\log.txt"
Open filename For Append As 1#
data = "Документ открыт пользователем " & Environ("username")  & " " & Date & " " & Time
Print #1, data
close #1

В событие закрытия аналогичный код, только меняете текст сообщения.
Не забудьте изменить путь к файлу на актуальный.

8

Re: Сетевой шаблон документа

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

9

Re: Сетевой шаблон документа

aap77 пишет:

файл шаблона можно сделать невидимым для пользователей, это позволит защитить его в какой-то степени от несанкционированного удаления

Каким образом вы полагаете  можно "сделать шаблон невидимым"? Придать ему атрибут Скрытый?

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

10

Re: Сетевой шаблон документа

Alex_Gur пишет:

Каким образом вы полагаете  можно "сделать шаблон невидимым"? Придать ему атрибут Скрытый?

Все правильно, сначала создается шаблон документа, в нем устанавливаются все необходимые настройки, пишутся макросы. Затем данный документ защищается паролем от редактирования, а в редакторе VBA  Tools --> [Имя проекта] Properties во вкладке Protection пароль на изменение макросов VBA. Затем на тех компах, только которые будут использоваться макросы данного шаблона в форме Шаблоны и надстройки добавляем нужный нам Шаблон (при этом нужно, закрыть любые документы в открытом приложении Word, а также учитывать версии Word на разных компьютерах и создавать шаблон в самой низкой версии, в 100% самая низкая версия, формата .dot), если же Вы хотите использовать стили, подложки и другие элементы непосредственно находящиеся в шаблоне, то в томже окне надо данный шаблон присоединить. Затем настроить сам файл шаблона Скрытым и Определить права доступа к нему.

11

Re: Сетевой шаблон документа

aap77 пишет:

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

В заголовке темы абсолютно точно указана тема (простите за тафтологию) "сетевой шаблон".
Вопрос был поднят с целью организации работы пользователей по "единым стандартам" на основе шаблонов, расположенных на сетевом ресурсе. Вопросы целостности шаблонов, доступа к их редактированию не стоят, так как решаются средствами разграничения доступа в сети. С одной из возникших проблем я обратился и, считаю, получил требуемый ответ.
Большое спасибо всем, кто принял решение в обсуждении.