在VBA中更改文本框中文本的部分字体

时间:2011-11-02 11:58:38

标签: vba textbox powerpoint

好的,这还没有被问到。

所以,我最近开始在PowerPoint中探索VBA。我开始在幻灯片中制作看起来像文本编辑器的东西。但是,问题在于我制作的应该使所选文本变为粗体,斜体或下划线的按​​钮会将文本框中的整个文本更改为粗体,斜体或带下划线的文本。

我用来更改文本字体的当前方法是:

Private Sub CommandButton1_Click()
    If TextBox1.Text.Font.Bold = False Then
        TextBox1.Text.Font.Bold = True
    Else
        TextBox1.Text.Font.Bold = False
    End If
End Sub

显然,当单击CommandButton1时,此代码将使TextBox1中的所有文本更改为粗体文本。但是,如果我只想将部分文本更改为粗体文本(即所选文本),我该怎么办?

2 个答案:

答案 0 :(得分:0)

据我所知,除了作为一个整体之外,你无法控制文本框文本的格式。

在VB中,我认为您可以使用Rich Text Box控件来完成这项工作,但PPT / VBA不提供。

答案 1 :(得分:0)

我知道这适用于处理VBA和powerpoint对象:

... Shape.TextFrame.TextRange.Characters(10,15).Font.Color.RGB = RGB(,,)

... Shape.TextFrame.TextRange.Characters(10,15).Font.Italic = msoTrue

我还没有尝试使用excel文本框。