Корректировка размера текстового поля, содержащего заголовок - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть несколько диаграмм, в которых заголовок диаграммы просто не помещается на одной строке в поле заголовка.

enter image description here

Вместо того, чтобы уменьшать размер шрифта, я бы предпочел сделать текстовое поле немного шире.

При печати текущей ширины заголовка диаграммы к непосредственному окну, я вижу, что это в настоящее время~ 245 пикселей в ширину.Увидев это, я решил использовать следующий код, чтобы попытаться изменить его размер для всех диаграмм с указанным именем на листах:

Dim ws As Worksheet
Dim co As ChartObject

For Each ws In ThisWorkbook.Worksheets
    For Each co In ws.ChartObjects
        If co.Name = "Tiltaksplan" Then
            co.Chart.ChartTitle.Width = 260
        End If
    Next co
Next ws

Однако похоже, что .ChartTitle.Width - это свойство только для чтения, поэтому, когда я пытаюсь изменить его, макрос останавливается с ошибкой в ​​этой строке.

Есть ли другой способ изменить размер поля заголовка, или я застрял, делая это вручную?

1 Ответ

0 голосов
/ 21 февраля 2019

Расширяя комментарий SJR выше, подойдет ли вам следующее?

Dim ws As Worksheet
Dim co As ChartObject

For Each ws In ThisWorkbook.Worksheets
    For Each co In ws.ChartObjects
        If co.Name = "Tiltaksplan" Then
            co.Chart.ChartTitle.Text = " " 
            co.Shapes.AddLabel(msoTextOrientationHorizontal, 180, _
                12, 72, 260).Select
            Selection.ShapeRange.IncrementLeft -130
            Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = _
                "This is your new title"
        End If
    Next co
Next ws

Это было объединено из записанного макроса, поэтому вам может потребоваться настроить расположение текстового поля в одиночном разряде.

...