|
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. Снять защиту, затем вернуть программное же
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
|
Тема закрыта.
|
|