Страницы: 1
RSS
Выровнять таблицу по высоте средствами VBA
 
Добрый день. Есть таблица в Эксель и макрос. Я макросом копирую данную таблицу в Ворд, далее с помощью метода Tables(1).AutoFitBehavior (2) подгоняю таблицу в документе ворд по ширине. Подскажите пожалуйста аналогичный метод, что бы выровнять таблицу по высоте строк?
 
Доброе время суток
Цитата
DopplerEffect написал:
выровнять таблицу по высоте строк?
Код
ActiveSheet.ListObjects(1).Range.EntireRow.AutoFit
 
Андрей VG, а это точно должно работать в ворд, таблица то в ворде находится, но запускаю я метод из экселя?  
 
Цитата
DopplerEffect написал:
а это точно должно работать в ворд
Форум разве по Word? И потом вы написали
Цитата
DopplerEffect написал:
с помощью метода Tables(1).AutoFitBehavior (2) подгоняю таблицу в документе ворд по ширине
Следовательно можно сделать заключение, что в Word уже работает, а вопрос
Цитата
DopplerEffect написал:
Подскажите пожалуйста аналогичный метод, что бы выровнять таблицу по высоте строк?
относится к таблице Excel. Если уж вы про методы Word спрашиваете, то формулируйте вопрос корректно - аналогично где и чему. Не стесняйтесь использовать полные формы предложений.
 
Андрей VG, Еще раз. Есть файл Эксель, в нем находится макрос и таблица. Я запускаю макрос, он копирует данную таблицу и вставляет ее в файл Ворд, но вставляет ее криво. Мне нужно, что бы эта таблица в ворде выровнялась по ширине и высоте. Для ширины я нашел решение в виде:
Код
objDoc.Tables(1).AutoFitBehavior (2)
После чего ширина подгоняется под размеры листа в ворде, а вот с высотой не знаю как сделать, что бы высота строк автоматически подгонялась.
Изменено: DopplerEffect - 29.01.2020 15:01:11
 
Цитата
DopplerEffect написал:
Мне нужно, что бы эта таблица в ворде выровнялась по ширине и высоте.
Вот теперь гораздо лучше :)
Код
ThisDocument.Tables(1).Rows.HeightRule = wdRowHeightAuto
 
Андрей VG, Спасибо, немного изменил, так как ваш вариант выдал ошибку, а вот так отработало:
Код
objDoc.Tables(1).Rows.HeightRule = wdRowHeightAuto

К сожалению глобально проблему не решило, в Вордовской таблице по прежнему почему то пустоты в строках между текстом и границами.
 
Цитата
DopplerEffect написал:
почему то пустоты в строках между текстом и границами.
Может всё же пример файла word приложить? Ну, или свойства методы Cell изучить? Там не мало есть про отступы.
 
Андрей VG, создал пример, убрал все лишнее. На листе "Протоколы" указываем путь к вордовскому файлу. Далее запускаем макрос и в Ворд копируется таблица. Задача оптимизировать высоту ячеек под текст в таблице на листе Ворда. Посмотрите пожалуйста.
 
Цитата
DopplerEffect написал:
пустоты в строках между текстом и границами.
Попробуйте убрать отступы сверху и снизу абзаца так
Код
objDoc.Tables(1).AutoFitBehavior (2)
objDoc.Tables(1).Range.Paragraphs.SpaceBefore = 0
objDoc.Tables(1).Range.Paragraphs.SpaceAfter = 0
 
gling,получилось, спасибо большое!
Страницы: 1
Наверх