Добрый день! Подскажите пожалуйста команду, которая сообщит, какая высота и ширина ячейки таблицы, в которой в данный момент находится курсор.
Ширину всегда можно так узнать:
Макрос
Sub Макрос()
Dim cel As cell
'1. Vba-именование ячейки, в которой находится курсор.
Set cel = Selection.Cells(1)
'2. Ширина ячейки. Вывод в View - Immediate Window.
Debug.Print cel.Width
End Sub
А вот высоту можно узнать только если высота задана: щёлкните в ячейке правой мышью - Свойства таблицы... - вкладка "Строка" - здесь должна стоять галочка "высота". Если галочка стоит, то можно использовать такой код:
Макрос
Sub Макрос()
Dim cell As cel
'1. Vba-именование ячейки, в которой находится курсор.
Set cel = Selection.Cells(1)
'2. Высота и ширина ячейки. Вывод в View - Immediate Window.
Debug.Print cel.Height
End Sub
Если галочка не стоит, то для этого случая у ворда нет инструментов, чтобы узнать высоту строки. Возможно высоту можно узнать каким-нибудь обходным способом, но это наверное сложно, т.к. строка может быть разделена на несколько страниц.
Width и Height возвращают ширину в пунктах. Чтобы перевести в сантиметры можно использовать это:
Debug.Print Application.PointsToCentimeters(cel.Width)
Кроме того, у объекта "Cell" есть и другие члены для работы с высотой и шириной:
HeightRule - позволяет выбрать "Минимум" или "Точно";
SetHeight - устанавливает высоту;
PreferredWidth - возвращает или устанавливает ширину. Может быть в пунктах или процентах, в зависимости от того, какие используются единицы измерения;
PreferredWidthType - возвращает или устанавливает, в каких единицах измерения работать с шириной: пунктах или процентах;
SetWidth - устанавливает ширину ячейки.