Имя: Пароль:
1C
1С v8
1C и Word
0 satoru
 
25.07.16
12:39
Есть документ Word (*.doc), который защищён от редактирования, но некоторые поля (Bookmarks) можно редактировать только в редакторе Word. В 1С 8 есть обработка по заполнению данного файла из 1С, но при  первом изменении текста редактируемых полей (Bookmarks) выдаёт ошибку: Произошла исключительная ситуация (Microsoft Word): Вам не разрешено редактировать этот выделенный фрагмент, так как он защищен.

Код 1С (ошибка возникает на последней строчке кода):
    Word.Documents.Open(ФайлДокумента);
    Word.Visible = 1;
    Адрес = СокрЛП(Отчет.Персонал.Дом)+", ";
    Если НЕ ПустаяСтрока(Отчет.Персонал.Квартира) Тогда
        Адрес = Адрес + "apt." + СокрЛП(Отчет.Персонал.Квартира) + ", ";
    КонецЕсли;
    Адрес = Адрес + СокрЛП(Отчет.Персонал.Улица) + " " + СокрЛП(Строка(Отчет.Персонал.ТипУлицы)) + ", ";
    Адрес = Адрес + СокрЛП(Отчет.Персонал.Город) + ", " + СокрЛП(Отчет.Персонал.Страна);
    Word.ActiveDocument.Bookmarks("Text1").Range().Text = " FORMTEXT "+(ВРег(СокрЛП(Отчет.Персонал.Фамилия)));
1 lamme
 
25.07.16
12:57
И ?
В чем вопрос-то ?
2 satoru
 
25.07.16
13:05
(1) Почему нельзя изменять текст, ведь по настройкам защиты редактирование этих полей (Bookmarks) разрешена?
3 satoru
 
25.07.16
13:46
up
4 Garykom
 
гуру
25.07.16
13:59
1. Снять защиту, затем вернуть программное же http://wladm.narod.ru/C_Sharp/comword.html#8

2. Не юзать Range() а через Value на конкретные Cells, но не факт что взлетит
5 satoru
 
25.07.16
14:41
(4) Ок, завтра попробую. Спасибо.
6 Gorillaz
 
25.07.16
14:44
"который защищён от редактирования"
Хмм, не знаю точно, но по ему скромному мнению богини луны, надо разрешить редактирование, но это не точно.
7 satoru
 
26.07.16
10:39
Всё работает. Всё, что нужно изменить последнею строку:

    Word.ActiveDocument.FormFields("Text1").Result = (ВРег(СокрЛП(Отчет.Персонал.Фамилия)));
8 satoru
 
26.07.16
10:39
Тема закрыта.