Имя: Пароль:
1C
1C 7.7
v7: Вывод таблицы в Word
0 norbi
 
29.10.13
11:43
Необходимо создать таблицу в ворде. В первой колонке - текст, во второй и третьей - гиперссылки. При выводе гиперссылок только в одну колонку (без разницы вторую или третью) все работает, а при поппытке вывести в обе колоки - "таблица документа повреждена".

    Таб=Док.Tables.Add(Док.Bookmarks(1).Range, ТЗ.КоличествоСтрок()+1, 3);
    Если Таб.Style <> "Сетка таблицы" Тогда
        Таб.Style = "Сетка таблицы"
    КонецЕсли;    
    
    //Шапка
    Таб.Cell(1, 1).Range.Text    = "Обозначение";                
    Таб.Cell(1, 1).Range.ParagraphFormat.Alignment = 1;
    Таб.Cell(1, 1).Range.Font.Bold = 1;
    Таб.Cell(1, 2).Range.Text    = "Гиперссылка на список сканов документов";
    Таб.Cell(1, 2).Range.ParagraphFormat.Alignment = 1;
    Таб.Cell(1, 2).Range.Font.Bold = 1;
    Таб.Cell(1, 3).Range.Text    = "Гиперссылка на подетальный состав узла";
    Таб.Cell(1, 3).Range.ParagraphFormat.Alignment = 1;
    Таб.Cell(1, 3).Range.Font.Bold = 1;
    Таб.Rows(1).HeadingFormat = 1;
    
    //Заполняем табличную часть

    Для Н=1 по ТЗ.КоличествоСтрок() Цикл
        ТЗ.ПолучитьСтрокуПоНомеру(Н);
        Таб.Cell(Н+1, 1).Range.Text    = СокрЛП(ТЗ.Узел);
        Док.Hyperlinks.Add(Таб.Cell(Н+1, 2).Range, Списки_сканов_документов_узлов + "\" + СокрЛП(ТЗ.Узел) + ".doc","","", СокрЛП(ТЗ.Узел) + ".doc");
        Док.Hyperlinks.Add(Таб.Cell(Н+1, 3).Range, Списки_состава_узлов + "\" + СокрЛП(ТЗ.Узел) + ".doc","","", СокрЛП(ТЗ.Узел) + ".doc");
    КонецЦикла;
1 dk
 
29.10.13
11:48
может проще через select вместо range
2 ЧеловекДуши
 
29.10.13
11:49
(0) Необходимо, таки создавайте :)
Я разрешаю.

Что спросить то хотел?

Так, для справки, ты лучше пользуйся записью Макросов, того чего хочешь, а уже потом анализируешь код Макроса, так как нужно было бы добавлять таблицу :)
..куда проще...
3 ЧеловекДуши
 
29.10.13
11:50
+ Так же для вордовых хотелок, от безумного пользователя, лучше всего пользоваться шаблонами :)