В моем проекте я изменяю размер группы фигур, называемой «меню», так, чтобы она занимала всю высоту экрана. После этого я хочу настроить размер шрифта текста в каждом прямоугольнике, содержащемся в «меню». Мне потребовалось некоторое время, но я наконец нашел то, что работает:
Sub autosize_text()
ActiveSheet.Shapes.Range(Array("menu")).Select
For i = 1 To 46
With Selection.ShapeRange.GroupItems(i).TextFrame2
strTxt = .TextRange
.DeleteText
.WarpFormat = msoWarpFormat1
.WordWrap = True
.AutoSize = msoAutoSizeTextToFitShape
.TextRange = strTxt
End With
Next i
End Sub
Моя проблема в том, что он сжимает текст до крошечного фиксированного размера (11) во всех прямоугольниках, независимо от того, насколько они большие или разные. . Я бы хотел, чтобы размер шрифта адаптировался к каждому отдельному прямоугольнику. Возможно ли, что это происходит из-за того, что фигуры являются прямоугольниками, а не текстовыми полями?
В общем, моей целью было просто подогнать мой проект под любой экран, и весь проект находится в этой одной основной форме. Я могу подогнать форму под экран, но размер шрифта останется равным 11, если я не изменю его вручную, что, очевидно, не является целью здесь. Заранее благодарим за помощь.