![]() |
![]() |
![]() |
|
Запись в Word | ☑ | ||
---|---|---|---|---|
0
Масянька
01.12.10
✎
15:43
|
Возникла проблема:
печ. форма в Word, заполняется из 1С 7.7. Все хорошо, но в Word есть надпись, в которой надо заполнять строки из 7.7. Вот они и не заполняются. Почему? мОбъект.Find.Execute("[ПечИННПокупателя]",0,0,,,,,,,СокрЛП(мИННПокупателя),2); мОбъект.Find.Execute("[ПечКПППокупателя]",0,0,,,,,,,СокрЛП(мКПППокупателя),2); мОбъект.Find.Execute("[ПечРСПокупателя]",0,0,,,,,,,СокрЛП(мРСчетПокупателя),2); мОбъект.Find.Execute("[ПечБанкПокупателя]",0,0,,,,,,,СокрЛП(мБанкПокупателя),2); мОбъект.Find.Execute("[ПечКСПокупателя]",0,0,,,,,,,СокрЛП(мКСчетПокупателя),2); |
|||
1
План счетов
01.12.10
✎
15:47
|
||||
2
Масянька
01.12.10
✎
16:24
|
я ПРОЧИТАЛА :) Спасибо. Но у меня в тексте замена происходит. Не меняет в надписи. Ни чем не поможете?
|
|||
3
Масянька
01.12.10
✎
16:29
|
Один разок апну :)
|
|||
4
AlexYurg
01.12.10
✎
16:35
|
А нельзя от надписей избавиться?
Например, в таблицу загнать. |
|||
5
Масянька
01.12.10
✎
16:36
|
(4) А с ними так сложно?
|
|||
6
AlexYurg
01.12.10
✎
16:39
|
(5) У меня без надписей нормально работает, с надписями не пробовал. Вот я и говорю - если проблема возникает именно в надписях - попробуй от них избавиться.
|
|||
7
Масянька
01.12.10
✎
16:42
|
Да не хочется - очень уж красивенько. В таблице будет хуже. Но все равно - Спасибо.
|
|||
8
План счетов
01.12.10
✎
16:51
|
(7) может попробовать в ВОРДЕ макрос записать - когда вносите изменения в надпись, и код макроса перенести в 1С?
|
|||
9
filh
01.12.10
✎
16:52
|
попробуй:
мОбъект.Find.ClearFormatting мОбъект.Find.Replacement.ClearFormatting перед мОбъект.Find.Execute |
|||
10
Масянька
01.12.10
✎
16:57
|
(8) Не умею я макросы писать :(
(9) Ругается - неопознанный оператор :( |
|||
11
smaharbA
01.12.10
✎
17:37
|
надписи вобщето это шейпы а так
|
|||
12
Масянька
01.12.10
✎
18:00
|
(11) Шейпы = это чего?
|
|||
13
Масянька
02.12.10
✎
14:56
|
Поломав весь мозг дошла:
мWord = СоздатьОбъект("Word.Application"); мWord.Visible = 0; мNewDoc = мWord.Documents; мДок = мNewDoc.Add("D:\1С\БД клиентов\КС\1Сv7\Db\Договора\Шаблоны\Типовой_КуплиПродажи_1.dot", 0, 0, 1); мОбъект = мДок.Content; мОбъект.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,НомерДоговора,2); СчетчикЦикла = 0; Для СчетчикЦикла = 1 По мДок.Shapes.Count Цикл мНашли = мДок.Shapes.Item(СчетчикЦикла).Select(); Сообщить("1 - " + мНашли); Сообщить("2 - " + мДок.Shapes.Count); Сообщить("3 - " + мНашли.Find("[")); КонецЦикла; На сточке с Find ругается. Поможите, кто чем может :( |
|||
14
Масянька
06.12.10
✎
12:53
|
Я все-таки победила :)))))))
// формируем файл мWord = СоздатьОбъект("Word.Application"); мWord.Visible = 0; мNewDoc = мWord.Documents; мДок = мNewDoc.Add("D:\1С\БД клиентов\КС\1Сv7\Db\Договора\Шаблоны\Типовой_КуплиПродажи_1.dot", 0, 0, 1); мОбъект = мДок.Content; // подставляем значения по тексту договора - признак замены [] мОбъект.Find.Execute("[ПечНомерДоговора]",0,0,,,,,,,НомерДоговора,2); мОбъект.Find.Execute("[ПечДатаДоговора]",0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2); мОбъект.Find.Execute("[ПечПокупатель]",0,0,,,,,,,СокрЛП(мПокупатель),2); мОбъект.Find.Execute("[ПечРуководитель]",0,0,,,,,,,мПечОтветственноеЛицо,2); мОбъект.Find.Execute("[ПечОснование]",0,0,,,,,,,СокрЛП(Основание),2); // подставляем значения в реквизиты покупателя: надпись, признак замены [] СчетчикЦикла = 0; КолВоНадписей = мДок.Shapes.Count; Для СчетчикЦикла = 1 По КолВоНадписей Цикл мНашли = мДок.Shapes.Item(СчетчикЦикла).Select(); Если Число(мДок.Application.Selection.ShapeRange.Type) = 17 Тогда мДок.Application.Selection.Range.Find.Execute("[ПечПокупательРеквизиты]",0,0,,,,,,,СокрЛП(мПокупатель),2); мДок.Application.Selection.Range.Find.Execute("[ПечЮрАдресПокупателя]",0,0,,,,,,,СокрЛП(мЮрАдресПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечПочтАдресПокупателя]",0,0,,,,,,,СокрЛП(мПочтПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечТелефонПокупателя]",0,0,,,,,,,СокрЛП(мТелефонПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечИННПокупателя]",0,0,,,,,,,СокрЛП(мИННПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечКПППокупателя]",0,0,,,,,,,СокрЛП(мКПППокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечРСПокупателя]",0,0,,,,,,,СокрЛП(мРСчетПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечБанкПокупателя]",0,0,,,,,,,СокрЛП(мБанкПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечКСПокупателя]",0,0,,,,,,,СокрЛП(мКСчетПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечБИКБанкаПокупателя]",0,0,,,,,,,СокрЛП(мБИКПокупателя),2); мДок.Application.Selection.Range.Find.Execute("[ПечПокупательПодпись]",0,0,,,,,,,СокрЛП(ПодписьОтветственногоЛица),2); КонецЕсли; КонецЦикла; // записываем файл мДок.SaveAs(мИмяФайла); |
|||
15
dk
06.12.10
✎
12:59
|
а сразу в шейпах текст менять? без поиска
|
|||
16
Масянька
06.12.10
✎
13:14
|
Подскажиет как?
|
|||
17
dk
06.12.10
✎
13:30
|
шейп = мНашли = мДок.Shapes.Item(СчетчикЦикла);
шейп.TextFrame.TextRange.Text = "ываывафываываыва" ---- или надо номера шейпов заранее знать типа шейпИНН = мНашли = мДок.Shapes.Item(НомерШейпаИНН); шейпИНН.TextFrame.TextRange.Text = мИННПокупателя; |
|||
18
dk
06.12.10
✎
13:31
|
мНашли лишнее )
|
|||
19
Масянька
06.12.10
✎
13:38
|
Насчет мНашли согласна.
Остальное - проверю. |
|||
20
Масянька
06.12.10
✎
13:43
|
Ругается: Данный объект не поддерживает вложенный текст.
Еще предложения? |
|||
21
Масянька
06.12.10
✎
14:54
|
Раз других предложений нет - можно (14) порекомендовать в Базу знаний?
Очень долго искала решение - может кому-то поможет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |