![]() |
![]() |
![]() |
|
1С и Word | ☑ | ||
---|---|---|---|---|
0
mzelensky
28.12.09
✎
09:43
|
Доброго времени суток! Собственно задача следующая - встала необходимость перебрасывать сформированные отчеты (из табличного документа) в Word. Как перекидывать строки я нашел, но вот как быть, если мне нужно перенести в ворд табличку??? (т.е. полностью сформировать в ворде туже структуру, что и в табличном документе)???
|
|||
1
RomaH
naïve
28.12.09
✎
09:44
|
... создать или перенести?
|
|||
2
mzelensky
28.12.09
✎
09:46
|
Ну чтобы сперва отчет сформировался в 1с-ке, как табличный документ ,а потом по нажатию кнопки перенесся в ворд!
|
|||
3
mzelensky
28.12.09
✎
11:06
|
ап
|
|||
4
FIXXXL
28.12.09
✎
11:11
|
таблички в Ворде - зло, юзай Эксель
|
|||
5
Масянька
28.12.09
✎
11:12
|
(4) Да (+5)
Word - зачем? |
|||
6
Ъзнакъ
28.12.09
✎
11:19
|
(0) Ну это, пишешь макрос, и конвертируеше его в 1с. В чем конкретно-то трабл? Не знаешь, сколько строк/столбцов в таблице?
ЗЫ: В ворде у табличек нет имен, только индексы. |
|||
7
Триша
28.12.09
✎
11:25
|
Ну если обязательно в Word, то можно в Word'е создать готовый шаблон таблицы отчета, а потом из 1С открывать его и заполнять ячейки.
Что-то вроде: Док = ПолучитьCOMОбъект("D:\Бланк отчета.docx"); ... Таб = Док.Tables(1); ; Таб.Cell(1, 2).Range.Text = Значение1; Таб.Cell(2, 1).Range.Text = Значение2; |
|||
8
mzelensky
28.12.09
✎
11:38
|
(7) а если колонки есть объединенные, то как они нумеруются?
|
|||
9
mzelensky
28.12.09
✎
11:42
|
(6) Макросами никогда не занимался....есть примерчик какой-нить?!
|
|||
10
Ъзнакъ
28.12.09
✎
11:44
|
(9) Пользуйся. Как-то наткнулся на этот пример на Мисте:
макрос экселя Range("D11:F14").Select With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With Selection.Merge конвертация в код 1С - вместе с обрамлением Excel = СоздатьОбъект("Excel.Application"); Excel.Displayalerts = 0;//отключить встроенные предупреждения Excel Excel.Workbooks.Add();//Создать новую книгу Excel.Range("D11:F14").Select();//Выделить область //замена оператора With Selection = Excel.Selection; Selection.HorizontalAlignment = -4108;//Горизонтальное выравнивание текста Selection.VerticalAlignment = -4107;//Вертикальное выравнивание текста Selection.WrapText = 0;//1 - переносить текст по словам, 0 - нет Selection.Orientation = 0;//0 - текст горизонтально, 90 - сверху вниз, -90 - снизу вверх Selection.AddIndent = 0;//Величина отступа (от края или середины ) Selection.IndentLevel = 0; Selection.ShrinkToFit = 0;//1 - автоподбор ширины, 0 - нет Selection.ReadingOrder = -5002; Selection.MergeCells = 0;//1 - объединить выбранные ячейки, 0 - нет // Excel.Selection.Merge(); Excel.Visible = 1;//1 - открыть приложение |
|||
11
mzelensky
28.12.09
✎
11:52
|
(10) Спасибо!
А еще такой вопрос. Я попробовал - обычным Ctrl+C/Ctrl+V табличный документ прекрасно переносится в ворд. Соответственно совместимость между ними нормальная! Так может можно как-то прям экспортировать данные, т.е. перетянуть весь табличный документ в ворд целиком? Или скажем тупо симулировать нажатие клавишь Ctrl+A Ctrl+C Ctrl+V ? На Делфяке даже есть функции по помещению данных в буфер обмена и изъятию их оттуда! |
|||
12
mzelensky
28.12.09
✎
16:05
|
ап
|
|||
13
dk
28.12.09
✎
16:08
|
SendKey в помощь, но это так себе решение - ole надежнее и правильнее
|
|||
14
Aprobator
28.12.09
✎
17:09
|
(0) сохранить табличный документ в формате HTML и потом открыть вордом не прокатывает?
|
|||
15
mzelensky
29.12.09
✎
12:23
|
(14) Да не хотелось бы просто создавать промежуточных файлов. Т.е. мне бы лучше сразу в ворд, без каких либо сохранений!
|
|||
16
anatoly
29.12.09
✎
12:34
|
||||
17
mzelensky
29.12.09
✎
12:45
|
(16) спасибо!!! Интересные вещи!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |