|
Размер колонок для таблицы в DOC средствами 1С | ☑ | ||
---|---|---|---|---|
0
MAPATNK2
naïve
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 |
|||
1
MAPATNK2
naïve
07.11.19
✎
13:56
|
||||
2
MAPATNK2
naïve
07.11.19
✎
14:02
|
В версии Worf 2008 года, все работало. Поставили 2017 года, т.к. новый сервер старые версии не запускает ииии пробелма...
|
|||
3
бегинер
07.11.19
✎
14:19
|
1) запиши макрос в ворде 2017 на изменение ширины и сравни со своим кодом. сделай как в макросе
2) запусти свой исходный код не из 1с а из макроса vba - проверь будет ли работать |
|||
4
MAPATNK2
naïve
07.11.19
✎
14:58
|
(3) Я пытался разобраться, как макрос записывать, но он не дает записывать движения мышки. XD
|
|||
5
sqr4
07.11.19
✎
15:02
|
Вроде нужно указывать не PreferredWidth а просто Width
|
|||
6
MAPATNK2
naïve
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 Что с этим делать макросом теперь? |
|||
7
sqr4
07.11.19
✎
15:10
|
ааа нулевой пост сломал мисту)
|
|||
8
mikecool
07.11.19
✎
15:12
|
начиная с какой то версии, наверное 2010, таблицы все с признаком адаптивной ширины по содержимому
в параметрах есть такая галочка, может ее программно надо снять? |
|||
9
MAPATNK2
naïve
07.11.19
✎
15:19
|
Как макросы то переводить в код 1с?
|
|||
10
sqr4
07.11.19
✎
15:19
|
(9) путем копирования)
|
|||
11
MAPATNK2
naïve
07.11.19
✎
15:31
|
(10) Так не работает
|
|||
12
sqr4
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
|
Table.AutoFitBehavior
проверь: https://docs.microsoft.com/ru-ru/dotnet/api/microsoft.office.interop.word.wdautofitbehavior?view=word-pia |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |