5

VBA を使用してテキストを PowerPoint に挿入しようとしていますTextRange。次のようなものを使用します。

ActiveWindow.Selection.SlideRange.Shapes("rec1").TextFrame.TextRange.Text = "Hi"

ただし、太字、斜体、下線をプログラムで適用する方法がわかりません (.RichText プロパティなどは表示されません)。

私が持っているのは、変換したい太字、斜体、下線付きのテキストを含む単純な HTML テキストです。

これを行う方法?

4

4 に答える 4

8

これは、's 、、、、およびオブジェクトを使用して簡単に実行できますTextRangeCharacters次に、オブジェクトを使用して、太字、下線、および斜体を設定します(他のプロパティの中でも)。例えば:WordsSentencesRunsParagraphsFont

Sub setTextDetails()
    Dim tr As TextRange
    Set tr = ActiveWindow.Selection.SlideRange.Shapes(1).TextFrame.TextRange
        With tr
            .Text = "Hi There Buddy!"
            .Words(1).Font.Bold = msoTrue
            .Runs(1).Font.Italic = msoTrue
            .Paragraphs(1).Font.Underline = msoTrue
        End With
End Sub
于 2010-02-04T21:32:36.610 に答える
4

TextRangeオブジェクトに関するMSDN のドキュメントを参照してください。TextRange オブジェクトの Font プロパティにアクセスする方法のサンプルが含まれています。

編集:次の方法で、太字や斜体などにプログラムでアクセスできます。

TextRange.Font.Bold = msoTrue

EDIT EDIT: テキスト範囲内の特定のテキストのみを選択する方法はいくつかあります。以下を参照してください。

このリンクの同じ内容によると、これらの方法のいずれかを使用してテキストの一部を選択し、プログラムでフォントを設定できます。例えば:

Application.ActiveDocument.Pages(1).Shapes(2) _
.TextFrame.TextRange.Words(Start:=2, Length:=3) _
.Font.Bold = True

その例は、Words Method リンクから取られました。

于 2009-06-08T15:47:38.407 に答える
3

上記の回答に加えて、プレゼンテーションの途中でオブジェクトを選択すると PowerPoint の動作がおかしくなる可能性があるため、変更するオブジェクトに名前を付けるようにしてください。新しい TextRange オブジェクトを作成し、次のように設定します。

dim mytextrange As TextRange
Set mytextrange = ActiveDocument.Pages(1).Shapes(2).TextFrame.TextRange
mytextrange.Words...
于 2009-06-09T12:14:42.147 に答える