Жирный только одна часть в VBA - PullRequest
1 голос
/ 03 марта 2020

В настоящее время я создаю макрос, который создаст Powerpoint из книги Excel. У меня есть две ячейки, которые я в настоящее время объединяю в одно текстовое поле powerpoint. Я хочу иметь возможность выделять одно значение ячейки в текстовом поле. Возможно ли это?

Это мой текущий код:

Proj = Sheets("Bay du Nord").Range("A23")
Proj2 = Sheets("Bay du Nord").Range("B23")


Set LCProj = Slide2.Shapes.AddTextbox(msoTextOrientationHorizontal, Left:=210, Top:=265, Width:=110, Height:=100)
With LCProj
    .Name = "LC Proj"
    With .TextFrame.TextRange
        .Text = Proj & vbNewLine & Proj2 & vbNewLine & "kg CO2/BOE"
        .Font.Size = 12
        .Font.Bold = False
        .ParagraphFormat.Alignment = ppAlignCenter
    End With
    With .Fill
        .TwoColorGradient msoGradientHorizontal, 2
        .ForeColor.RGB = RGB(140, 0, 0)
        .BackColor.RGB = RGB(180, 5, 0)
    End With
    .Shadow.Type = msoShadow14
End With

Скажите, что я хочу выделить значение, которое находится в ячейке A23 (Proj), и оставить значение в B23 (Proj2) то же самое.

Спасибо

1 Ответ

2 голосов
/ 03 марта 2020

Вы можете использовать TextRange.Characters(), чтобы изменить свойства подмножества оригинала TextRange, например, так:

Proj = Sheets("Bay du Nord").Range("A23")
Proj2 = Sheets("Bay du Nord").Range("B23")


Set LCProj = Slide2.Shapes.AddTextbox(msoTextOrientationHorizontal, Left:=210, Top:=265, Width:=110, Height:=100)
With LCProj
    .Name = "LC Proj"
    With .TextFrame.TextRange
        .Text = Proj & vbNewLine & Proj2 & vbNewLine & "kg CO2/BOE"
        .Font.Size = 12
        .Font.Bold = False
        .ParagraphFormat.Alignment = ppAlignCenter
            With .Characters(1, len(Proj))
                .Font.Bold = True
            End With
    End With
    With .Fill
        .TwoColorGradient msoGradientHorizontal, 2
        .ForeColor.RGB = RGB(140, 0, 0)
        .BackColor.RGB = RGB(180, 5, 0)
    End With
    .Shadow.Type = msoShadow14
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...