Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Размер колонок для таблицы в DOC средствами 1С

Размер колонок для таблицы в DOC средствами 1С
Я
   MAPATNK2
 
07.11.19 - 13:54
Всем доброго дня. Программно формирую таблицу, но не могу ширину колонок проставить. Подскажите, как это можно сделать? Пишу так:

Table = Документ.Tables.Add(Position, 1, 9, 1, 2);
                // Устанавливаем ширину колонок
                Table.Columns(1).PreferredWidth=2;
                Table.Columns(2).PreferredWidth=4;
                Table.Columns(3).PreferredWidth=12;
                Table.Columns(4).PreferredWidth=5;
                Table.Columns(5).PreferredWidth=5;
                Table.Columns(6).PreferredWidth=5;
                Table.Columns(7).PreferredWidth=5;
                Table.Columns(8).PreferredWidth=5;
                Table.Columns(9).PreferredWidth=5;
                //Table.AutoFitBehavior (2);
                //Table.AutoFitBehavior (0);

                // Задаем заголовки колонок
                Row1=Table.Rows(1);
                Row1.Cells(1).Range.Text="№";
                Row1.Cells(2).Range.Text="Артикул";
                Row1.Cells(3).Range.Text="Товары (работы, услуги)";
                Row1.Cells(4).Range.Text="Кол-во";
                Row1.Cells(5).Range.Text="Ед.";
                Row1.Cells(6).Range.Text="Цена";
                Row1.Cells(7).Range.Text="Сумма без скидки";
                Row1.Cells(8).Range.Text="Скидка (наценка)";
                Row1.Cells(9).Range.Text="Сумма";
                Row1.Range.Font.Bold = 9999998;
                Row1.Range.Font.Size = 11;
                Row1.Range.Font.Name = "Times New Roman";
                Row1.Range.ParagraphFormat.Alignment = 1;
Но получаю колонки, которые все равны. Подскажите, почему так?
https://yadi.sk/i/nYyLJB4cAD-W1w
 
 
   MAPATNK2
 
1 - 07.11.19 - 13:56
   MAPATNK2
 
2 - 07.11.19 - 14:02
В версии Worf 2008 года, все работало. Поставили 2017 года, т.к. новый сервер старые версии не запускает ииии пробелма...
   бегинер
 
3 - 07.11.19 - 14:19
1) запиши макрос в ворде 2017 на изменение ширины и сравни со своим кодом. сделай как в макросе
2) запусти свой исходный код не из 1с а из макроса vba - проверь будет ли работать
   MAPATNK2
 
4 - 07.11.19 - 14:58
(3) Я пытался разобраться, как макрос записывать, но он не дает записывать движения мышки. XD
   sqr4
 
5 - 07.11.19 - 15:02
Вроде нужно указывать не PreferredWidth а просто Width
   MAPATNK2
 
6 - 07.11.19 - 15:08
Selection.MoveDown Unit:=wdLine, Count:=2
    Selection.MoveUp Unit:=wdLine, Count:=2
    Selection.MoveRight Unit:=wdCharacter, Count:=2
    Selection.MoveUp Unit:=wdLine, Count:=22
    Selection.MoveLeft Unit:=wdCharacter, Count:=11
    Selection.MoveLeft Unit:=wdItem
    Selection.MoveRight Unit:=wdItem
    Selection.MoveLeft Unit:=wdItem
    Selection.MoveRight Unit:=wdItem
    Selection.OMaths.Add Range:=Selection.Range
    Selection.OMaths(1).Remove
    Selection.OMaths.Add Range:=Selection.Range
    Selection.OMaths(1).Remove
    Selection.OMaths.Add Range:=Selection.Range
    Selection.OMaths(1).Remove
    Selection.OMaths.Add Range:=Selection.Range
    Selection.OMaths(1).Remove
    Selection.Paragraphs.OutlineDemote


Что с этим делать макросом теперь?
   sqr4
 
7 - 07.11.19 - 15:10
ааа нулевой пост сломал мисту)
   mikecool
 
8 - 07.11.19 - 15:12
начиная с какой то версии, наверное 2010, таблицы все с признаком адаптивной ширины по содержимому
в параметрах есть такая галочка, может ее программно надо снять?
   MAPATNK2
 
9 - 07.11.19 - 15:19
Как макросы то переводить в код 1с?
   sqr4
 
10 - 07.11.19 - 15:19
(9) путем копирования)
   MAPATNK2
 
11 - 07.11.19 - 15:31
(10) Так не работает
   sqr4
 
12 - 07.11.19 - 16:06
(5) а так?
   бегинер
 
13 - 07.11.19 - 16:11
твой код работает и с PreferredWidth:
Set MyRange = ActiveDocument.Content
Set Table = ActiveDocument.Tables.Add(MyRange, 1, 9, 1, 2)
Table.Columns(1).PreferredWidth = 2
   бегинер
 
14 - 07.11.19 - 16:12
проверь запусти макрос:
Sub add_table()
    Set MyRange = ActiveDocument.Content
    Set Table = ActiveDocument.Tables.Add(MyRange, 1, 9, 1, 2)
    Table.Columns(1).PreferredWidth = 2
    Table.Columns(1).PreferredWidth = 50
End Sub
   бегинер
 
15 - 07.11.19 - 16:22

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.