Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
1018 / 122 / 2
Регистрация: 26.08.2011
Сообщений: 1,177
Записей в блоге: 2
1

Управлять шириной колонок таблицы Word из Excel

07.04.2016, 21:08. Показов 4398. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Таблица в документе Word создана.
Содержит 17 колонок
Первая должна быть шириной 150 пт
Остальные 24 пт

Как задать ширину колонок в таблице из Excel?

Цепляю весь паровоз сюда до момента , когда нужно начать управление шириной колонок

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Sub Публикация_Word_статобработка()
' лог обработки нужно сохранить в файл word и отформатировать
Dim myWord As Object
 
Set myWord = CreateObject("Word.Application") 'Запускаем новый экземпляр программы Word.Даём этому экземпляру имя "myWord". Через это имя
    'будем обращаться к программе Word.
myWord.Visible = True 'Делаем программу "Word" видимой.
 
Set oDocument = myWord.Documents.Add 'Создаём в программе Word документ и даём этому документу имя "oDocument".
 
With oDocument
    .ActiveWindow.ActivePane.View.Zoom.Percentage = 70 ' показать документ в 70%
    .PageSetup.TopMargin = 28.36 'отступ сверху 1.0 см
    .PageSetup.LeftMargin = 28 'отступ слева 0,99 см
    .Content.Font.Size = 8
    .Content.Font.Name = "Consolas"
End With
With oDocument.Content.ParagraphFormat
    .LeftIndent = 0
    .RightIndent = 0
    .SpaceBefore = 0
    .SpaceBeforeAuto = False
    .SpaceAfter = 0
    .SpaceAfterAuto = False
    .LineSpacingRule = wdLineSpaceSingle
    .CharacterUnitLeftIndent = 0
    .CharacterUnitRightIndent = 0
    .LineUnitBefore = 0
    .LineUnitAfter = 0
End With
 
' вставляем текст заголовка таблицы и дату и время и файл и лист
этап = "2342gadgfsg" ' переменная для заголовка таблицы
myWord.Selection.TypeText Text:="Результаты статистической обработки этапа " & этап
myWord.Selection.TypeParagraph
 
Set tbl = myWord.Selection.Tables.Add(myWord.Selection.Range, 45, 17) ' создаем таблицу 47 строк/5 столбцов
' форматируем таблицу
tbl.Select
myWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphRight ' выравнивание по всей таблице вправо
myWord.Selection.Cells.VerticalAlignment = wdCellAlignVerticalBottom     ' прижимаем содержимое клетки вниз
 
' и вот тут нужно первой колонке присвоить одну ширину, а всем последующим - другую
' как?
Добавлено через 17 минут
Чтобы выделить колонку нашел такой способ
Visual Basic
1
2
tbl.Cell(1, 1).Range.Select
myWord.Selection.SelectColumn
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2016, 21:08
Ответы с готовыми решениями:

Как управлять шириной колонок в ComboBox?
В Combobox установлено некоторое количество колонок,скажем 4. По мере наполнения Combobox...

Как управлять полями ячейки таблицы Word из Excel
Создал таблицу из Excel Внес данные. Как всегда - не вмещаются написал код rs = tbl.Cell(2,...

Word -> Различный Aligment (влево-вправо) для разных колонок или ячеек(cell) Word-таблицы?
Как пограммно из VBA при формирования документа сделать различный Aligment (влево-вправо-по...

Как управлять шириной столбца dbgrid?
void __fastcall TForm1::ComboBox1Change(TObject *Sender) { ADOQuery1->SQL->Add(":Tool");...

2
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
07.04.2016, 21:41 2
Лучший ответ Сообщение было отмечено AndreA SN как решение

Решение

Visual Basic
1
2
tbl.Columns.Width = 24
tbl.Columns(1).Width = 150
1
1018 / 122 / 2
Регистрация: 26.08.2011
Сообщений: 1,177
Записей в блоге: 2
07.04.2016, 22:17  [ТС] 3
чтобы выделить группу колонок - сработало это
Visual Basic
1
2
3
4
rs = tbl.Cell(1, 2).Range.Start ' стартовая ячейка (вторая в строке) в первой строке
re = tbl.Cell(1, 17).Range.End ' финишная ячейка (последняя) в первой строке
oDocument.Range(rs, re).Select ' выделяем группу ячеек в первой строке (но не всю строку!!!)
myWord.Selection.SelectColumn ' от выделенного выделяем колонки
0
07.04.2016, 22:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2016, 22:17
Помогаю со студенческими работами здесь

Непонятки с шириной колонок у StringGrid
Здравствуйте еще раз) Перелез с Delphi 7 на Delphi 10 Seattle и никак не могу понять как сделать...

Импорт-Экспорт из Excel таблицы Списка в 5 колонок
Здравствуйте. Помогите разобраться как реализовать правильно следющую задачу: 1. Приходит от...

Сравнить значения двух колонок одной таблицы со значениями двух колонок другой таблицы
Доброго времени суток! Суть в следующем: Есть таблица_1, которая содержит в себе номера машин...

Нужно В 7-ке Управлять Положением Колонок
Возникла небольшая задачка. Один клиент попросил расположить колонки в большом документе "Расчетная...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru