Имя: Пароль:
1C
 
Вставка текста в вордовский документ-шаблон из 1С (7.7) через OLE
0 ary
 
26.01.05
10:12
Собственно сабж. Как проделать сие?
Необходимо для клиента составить договор в печатной форме заполнив все его реквизиты из 1С (из соотв. справочника)
1 Дурочека 1С
 
26.01.05
10:26
Не надо искать легких путей. Сейчас насыпятся светло-легкие и предложат на выбор (продажу) свои ВК.
2 Rovan
 
гуру
26.01.05
10:39
(0) Глянь тут http://www.realtrade.ru/support_0103.php.
А вообщето пользуйся поиском по Инету - например Яндексом.
3 Дурочека 1С
 
26.01.05
10:44
(2) Сам то смотрел?
4 Rovan
 
гуру
26.01.05
11:57
(3) Какие-то затруднения ?
5 Дурочека 1С
 
26.01.05
11:59
Фигню какую-то советуешь.
6 Rovan
 
гуру
26.01.05
12:04
(5) Почему ? Ведь доступ к ворд-документу получен - дальше дело техники.
7 axaken
 
26.01.05
12:07
я токо с экселем работал..

если оле умеешь подключать..то самы постой способб.
включи запись макросов в ворде..по делай там что..нить..
и перекатай коды..
8 Дурочека 1С
 
26.01.05
12:14
Совет от Rovan
Ворд=СоздатьОбъект("Word.Application");
дальше дело техники.
9 ary
 
26.01.05
13:01
то есть как я понимаю создали тот же Word Aplication а потом уму можно скармливать любый действия на макросе. Таким образом, чтобы позаменять те же поля "Клиент" или что-то в этом роде данными из 1С нам надо будет выполнить примерно следующий макрос
**********
Sub Replase()

   Selection.Find.ClearFormatting
   Selection.Find.Replacement.ClearFormatting
   With Selection.Find
       .Text = "==ИМЯКЛИЕНТА=="
       .Replacement.Text = "Соболевский Андрей"
       .Forward = True
       .Wrap = wdFindContinue
       .Format = False
       .MatchCase = False
       .MatchWholeWord = False
       .MatchWildcards = False
       .MatchSoundsLike = False
       .MatchAllWordForms = False
   End With
   Selection.Find.Execute Replace:=wdReplaceAll
End Sub

**********
тут текст того, что мне ворд записал  при замене по сочетанию Ctrl+H.
А можно добавить в ворде что-то типа той же метки (lable или как там это будет называться) и потом из OLE присвоить этим меткам какие-то значения.
А то вот такой вот заменой все перепахивать не очень то охота, да и к тому же долго будет, тем более если делать через задницу, прошу прощения, через OLE.
10 axaken
 
26.01.05
13:07
примерно так токо убрать лишнее..
открой помошник по визуал бейсику..и найди просто команюу заменить..
11 ary
 
26.01.05
13:16
Что-то щас пробую с лэйблами помутить, нифиига толкового не получается. Во первых у лэйба даже если выставить autosize=true & wordwrap=false то все равно текст как-то не вписывается в общую картинку. Он по ширине не входит в рамки, а с размерами подгадивать как-то не особо хочется. Кто-что может посоветовать? ;)
12 DOOрочка 1С
 
26.01.05
13:16
Я делаю так:
Вставляю текстовые поля, присваиваю им метки (поле "Закладка"), а в 1С это можно потом так:
Ворд=СоздатьОбъект("Word.Basic");  
Ворд.FileNew(ПолноеИмяФайла);
Ворд.SetFormResult("ИмяМетки",ЗначениеКотороеНужноПрисвоить);
Ворд.AppShow(); //На случай, если Word не открыт  (с)Спасибо, 427
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Модератор - тварь!
13 тест
 
26.01.05
13:42
тест
14 ary
 
26.01.05
14:12
2  DOOрочка 1С
Спасибо, это примерно то, что надо и немного проще.
15 prochor
 
26.01.05
16:02
(12) Спасибо! Давно думал спросить, но стеснялся!
16 ary
 
27.01.05
12:51
спасибо всем. Я сделал то что мне надо было. Если кому нужен пример можете скачать отсюда webfile.ru/169692 или стучитесь в почту.
Внимательно читаем комменты в .ert
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс