Имя: Пароль:
1C
1С v8
Как программно в 1с включить/отключить защиту файла *.doc
0 taurus_
 
22.04.15
15:10
Доброго времени суток.
Подскажите плз, как можно программно в 1с включить/отключить защиту файла *.doc?
Задача такая. Делаю печатную форму на основе шаблона *.doc. Часть параметров в шаблоне заполняю программно, а часть нужно оставить доступными для юзверей, при этом юзверю должен блокироваться доступ к остальному тексту, включая мои параметры. Если накладывать блокировку на шаблон до того как с ней начнут работать, то я не могу задать значение своих параметров. Поэтому хочу на время программного заполнения отключить защиту, а после снова включить. Как это сделать?
Заранее спасибо за ответы.
1 kosts
 
22.04.15
15:15
(0) Попробуй включить запись макроса. И в ворде включить-отключить защиту. Потом смотри код макроса.
2 anatoly
 
22.04.15
15:20
(0) защита на редактирование в ворде распространяется на весь документ, а не на какой то "остальной текст".

отключишь - заполнишь - включишь - и юзеры все равно ничего не смогут заполнять...
3 Necessitudo
 
22.04.15
15:20
(2) Только хотел написать. Защита - это параметр метода SaveAs у ворд аппликэйшн.
4 dk
 
22.04.15
15:32
а зачем на основе *.doc
почему не шаблон?
---
я делаю на основе шаблона и потом просто лочу готовый файл перед показом
5 dk
 
22.04.15
15:33
поля для редактирования вытащил со старой панели элементов формы
6 dk
 
22.04.15
15:38
причем защиту 2 раза ставлю

Док.Protect(2, -1, "********");
Док.SaveAs2(ИмяДляСохранения, wdFormatXMLDocument, 0, "", 0, "************");

иначе документ легко редактируется в openoffice
7 taurus_
 
22.04.15
15:46
(2) в ворде ещё есть такая фишка как "поле". Когда блокируешь документ, можно указать в параметре "ограничение на редактирование" значение "Ввод данных в поля форм". Тогда блокируется весь текст, кроме этих самых полей, в которых юзеры могут писать свой текст.
(6) спс, попробую, отпишусь. Думаю сработает, но поля будут не доступны, т.к. значение параметра "ограничение на редактирование" не задано. Не подскажите как и его значение задать?
8 dk
 
22.04.15
15:49
поля будут доступны - это кусок рабочего кода
только поля надо старые - щас поищу
9 anatoly
 
22.04.15
15:50
(7) а разве можно разделить уже заполненые или еще нет поля при ограничении?
10 dk
 
22.04.15
15:53
такие поля нужны
http://savepic.org/7165883.png
11 taurus_
 
22.04.15
15:53
(8) не совсем понял что значит "старые". Я шаблон делаю в 2010 ворде. Поле создаю так: "Разработчик - Элемент управления содержимым (форматированный текст)". Так будет работать?
12 taurus_
 
22.04.15
15:57
(10) Спасибо. Возможно придется немного переделать уже готовый шаблон, но это не проблема.
(9) Для 1с я задаю параметры так {v8 Параметр1}. А для юзера буду создавать доступные поля как в (10) . Прежде чем блокировать документ, заполню параметры 1с. Заблокирую документ и потом открою его юзеру с доступными полями. Должно сработать.
Ещё раз всем спасибо за помощь. О результатах отпишусь обязательно.
13 dk
 
22.04.15
16:00
я через вставка - закладка заполняю
Док.Bookmarks("ФирмаВЛице1").Range.Text    = Зн;
14 taurus_
 
23.04.15
13:53
Всё получилось. dk, отдельное спасибо!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан