Имя: Пароль:
1C
1С v8
Заполнение шаблона Word 2007-2010 из 1С
0 Pashkaa
 
28.11.12
10:20
Коллеги как заполнить Элемент управления - "Текст" добавленное через закладку Разработчика в Word 2007

Выглядит это так:
http://img13.imageshack.us/img13/6370/paramx.jpg


Пока есть такой вариант, но он не работает:

WordАрр = Новый COMОбъект("Word.Application");
ActiveDocument = WordАрр.Application.Documents.Add(ИмяФайла);
   
ActiveDocument.Activate();
   
ActiveDocument.FormFields("Parametr").Result = "Наш текст";,



Не предлагать делать через Поля или Закладки.
Для чего делаю через Элементы управления, для того что бы можно было потом включить защиту сформированного файла и дать возможность редактировать только тест импортированный из 1С.
1 perec1982
 
28.11.12
10:25
Пробуй через запись макроса, а потом переноси макрос в 1С только с некоторыми изменениями.
2 perec1982
 
28.11.12
10:26
Я с excel ем так мучился..., помогает только (1) + хелп по макросам
3 Maxus43
 
28.11.12
10:33
именно по шаблону надо? просто в таком виде сделать док не сойдёт?
4 Fish
 
28.11.12
10:37
(0) Через поля всё прекрасно делается. А при помощи штатных средств ворда, можно закрыть для редактирования те части документа, какие нужно.
5 Pashkaa
 
28.11.12
10:39
(4) Да через поля у меня все получается. Если не выйдет с Элементами управления тогда расскажи как ограничить средствами Word весь текст кроме Полей?
6 Pashkaa
 
28.11.12
10:42
(1) Макрос писал, смотрел. Ставлю курсор в поле с тестом который собираюсь импортировать из 1С, далее запускаю запись макроса, вписываю туда УРА!! и останавливаю запись. В результате в макросе вот это

Selection.TypeText Text:="Ура!!!"

Но как из VB интерпретировать это в 1С ума не приложу.
7 perec1982
 
28.11.12
10:59
(6) Включай макрос до того как добавляешь элемент управления
8 Pashkaa
 
28.11.12
11:02
Пробовал :) мне от этого не легче

   Selection.Range.ContentControls.Add (wdContentControlText)
   Selection.ParentContentControl.Title = "Parametr"
   Selection.ParentContentControl.Tag = "Parametr"
   Application.Keyboard (1033)
   Selection.TypeText Text:="Текст из 1С"
9 Pashkaa
 
28.11.12
11:03
Возможно обращение вообще должно идти не через FormFields, а через что то другое, но где бы найти спеца по VB, а то как пальцем в небо тыкаем
10 Fish
 
28.11.12
11:05
(5) Я это делал в шаблоне. В нём при защите документа надо указать области, которые можно редактировать. С программным заданием этих областей не заморачивался.
2 + 2 = 3.9999999999999999999999999999999...