Как изменить размер текста Excel VBA при вводе в Powerpoint? - PullRequest
0 голосов
/ 30 ноября 2018

В настоящее время берут данные из таблицы Excel и вводят их в слайды Powerpoint.Как я могу изменить размер текста ниже из таблицы?Powerpoint в настоящее время автоматически изменяет размер шрифта до 18.

Set ppSlide = ppPres.Slides.Add(1, ppLayoutBlank)

ppSlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, 200, 150).TextFrame.TextRange.Characters = "TEST " & Cells(Row, col + 1)

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 05 декабря 2018

Вы можете использовать '~ TextRange.Charaters.'Но обычно он используется для изменения какой-либо части текста.

~ TextRange.Characters(1, 2).Font.Bold = True ' sets the font of first 2 letters to bold style

Вместо этого '~ .TextRange' или '~ .TextRange.Text' были бы достаточно хороши.И размер текста может быть установлен с помощью '~ TextRange.Font.Size = xx'

После применения совета Матье Гиндона ваш код будет выглядеть так:

Sub test()
Dim Sht As Worksheet

Dim ppPres As PowerPoint.Presentation
Dim ppSlide As PowerPoint.Slide
Dim ppShape As PowerPoint.Shape

Set Sht = ThisWorkbook.Worksheets("Sheet1")

Set ppPres = ActivePresentation
Set ppSlide = ppPres.Slides.Add(1, ppLayoutBlank)
Set ppShape = ppSlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, 200, 150)
With ppShape
    .Name = "MyShape 1"
    With .TextFrame.TextRange
        .Text = "Test" & Sht.Cells(xRow, xColumn + 1) ' "Excel Cell Value"
        .Font.Size = 15
        .Font.Name = "Arial"
        .Font.Bold = True
        .Font.Color.RGB = RGB(0, 125, 255)
        'change first 2 letters to red color
        .Characters(1, 2).Font.Color.RGB = rgbRed
    End With
End With

End Sub

Пожалуйста, дайтеимя объекта формы Powerpoint, так что вы можете управлять объектом позже, используя его имя, например '~ .Shapes ("Имя"). Textframe.TextRange. ~ = ~'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...