2013-06-28 77 views
0

我使用C#互操作來獲得使用下面的代碼形狀的文本頁面內容textshape PowerPoint幻燈片的格式的格式:如何保存使用C#

var textRange = shape.TextFrame.TextRange; 
var text = textRange.Text; 

其中文本包含textshape的文本。但所有的格式化都沒有了。 :(

我們用我們自己的編輯器修改的內容和使用變更後的內容創建PPT:

string strToReplace = StripTagsRegex(xmlTempNode.InnerText); 
strToReplace = strToReplace.Replace(" ", " "); 
shape.TextFrame.TextRange.Text = strToReplace;//load new text to shape 

我得到的最終輸出所需的文本(即生成PPT),但所有的路線,pragraphs,格式化都沒有了。有什麼辦法來保存呢??

感謝串門... !!

回答

1

如果你想一個PowerPoint形狀內替換文本,並保留格式,使用PowerPoint自己的替換法

在VBA:

With Shape.TextFrame.TextRange 
    .Replace "this text", "with this text" 
End With 
+0

:感謝您的答覆史蒂夫。但我不確定用戶修改哪部分文本,他可能會添加新內容或替換/刪除舊內容。 –

+0

在這種情況下,如果某些文本的格式與其他文本不同,則不可能知道替換文本的哪些位獲得了什麼格式。如果整個文本框保留相同的格式,請嘗試使用形狀上的拾取方法來獲取格式,並在文本發生更改後,使用應用重新應用它。如果這不起作用,則可能需要存儲所有要保留的格式,然後在替換文本後應用它。 –

+0

是否可以獲取/設置ppt幻燈片的html,然後在編輯器中使用它來進行更改。最後生病使用該HTML來創建slide.is它可能?? –