2009-06-08 19 views
5

は私が、私はこのようなものを使用するPowerPointのTextRangeにいくつかのテキストを挿入するVBAを使用しようとしています:プログラムでPowerPointテキストにフォント書式を適用する

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

しかし、私は太字、斜体を適用し、プログラム的に(私は「ドン下線方法を見つけ出すことはできません.RichTextプロパティなどを参照してください)。

私は何を持っていることは、私がオーバー変換したい、太字、斜体や下線付きテキストを持ついくつかの単純なHTMLテキストです。

誰もがこれを行う方法を知っていますか?

+0

私は以下の編集された回答であなたの懸念事項をすべて解決したと思います。 –

+0

私のスクリプトであなたのサンプルを動作させる方法を理解しようとしています。私は(スタート:= 2、長さ:= 3)VBScriptをスローしていると思うが、VBAで動作するようだ(私のせいで、私がVBScriptを使っているはずだった)。私は彼らがこれよりも良い方法を実装したいと思いますが、それはうまくいくはずです。私は必要に応じてそれを稼働させることができるようになると、私は再びポストバックします。ありがとうございます - – OneNerd

+0

私はVBScriptを使用していることを反映するためにあなたの投稿を再タグ付けしました。この問題の解決方法を知りたいと考えています。 –

答えて

7

これは容易TextRangeCharactersWordsSentencesRunsParagraphsオブジェクトを使用して達成され、それは太字設定するFontオブジェクトの、下線および斜体(他の特性の中で)。たとえば、

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 
4

MSDN's documentationTextRange objectに表示してみてください。 TextRangeオブジェクトのFontプロパティにアクセスする方法のサンプルが含まれています。

EDIT:あなたは、このようにプログラム的に太字やイタリックのようなものを入手することができます。

TextRange.Font.Bold = msoTrue 

編集編集:テキストの範囲内でのみ、特定のテキストを選択することが可能ないくつかの方法があります。以下を参照してください。

this linkからsamesによると、あなたはこれらのいずれかの方法を使用してテキストの一部を選択することができますし、プログラムでフォントを設定します。例:

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

この例はWords Methodリンクから取得したものです。

+1

私が言うことができる限り、それはテキスト範囲内の個々の単語ではなく、全体のテキスト範囲を扱います。 – OneNerd

3

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

dim mytextrange As TextRange 
Set mytextrange = ActiveDocument.Pages(1).Shapes(2).TextFrame.TextRange 
mytextrange.Words... 
+0

ええええええええええええええええええええええええええええええええええええええええええええええええええええええええ、ありがとう - – OneNerd

関連する問題