2011-07-23 30 views
1

私はMicrosoft.Office.Interop.PowerPointを使用して、* .pptxプレゼンテーションの各スライドの特定のトークンを置き換えます。PowerPointのテキストを置き換える

問題は、トークンが存在するテキストボックスに、さまざまな方法で書式設定された行(フォントサイズが異なる行など)があることです。

私は実際に

shape.TextFrame.TextRange.Text = strStartText + replacementString + strEndText;

shape.TextFrame.TextRange.Text = 
    shape.TextFrame.TextRange.Text.Replace(oldString, replacementString); 

両方による置換をやってみました。しかし、それは統一ので、私のテキストボックスのすべての書式を台無しにします。 すべての行と単語のサイズと色が同じになりました。

この問題に対する解決法はありますか?

答えて

2

PowerPointの.TextRangeオブジェクトには、VB/VBAの置換コマンドと同様に動作する.Replaceメソッドがありますが、書式設定は保持されます。

With oSh 
    With .TextFrame.TextRange 
     .Replace findwhat:=oldString, replacewhat:= replacementString 
    End With 
End With 
+0

ありがとう:あなたは、変数オシでの形状への参照を持っていると仮定し

例、!申し訳ありませんが、ここで使用している構文は何ですか? – wh1t3cat1k

+0

VBA。申し訳ありませんが、あなたが.NETnessに翻訳しなければならないことに言及するのを忘れました。... = shape.TextFrame.TextRange.Replace(oldString、replacementString);この場合、TextRange.Replaceはメソッドです。文字列を返しますが、.TextRange.Textには影響しません.Text.Replaceとは異なり、オブジェクト上で直接置換が行われます。 –

+0

Worked for for PowerPoint – Cocowalla

関連する問題