我使用Office互操作與MS Word(的Microsoft.Office.Interop.Word)和Microsoft.Office.Tools.Word修改Word文檔中的Word加載項。我有一個範圍,其中包含我想要編輯的特定文本。編輯Word文檔範圍的文本中刪除段落格式
當我更新文本對象,該範圍的段落格式被複位,具體地對齊和leftindent上。我可以將對齊和LeftIndent保存在臨時變量中並重置它們,但這並不理想。 有沒有辦法從被重置,如果不停止使用ParagraphFormat,是沒有辦法,我可能會忘了我需要保存(我只是實現了前後段落間距也得到恢復......)任何其他屬性。
Microsoft.Office.Interop.Word.Range range = myObject.range;
var oldAlignment = range.ParagraphFormat.Alignment;
var oldLeftIndent = range.ParagraphFormat.LeftIndent;
range.Text = "new text";
range.ParagraphFormat.Alignment = oldAlignment;
range.ParagraphFormat.LeftIndent = oldLeftIndent;
編輯:我只是想節省使用ParagraphFormat作爲一個臨時變量,然後重新與該格式,但臨時變量失去其格式爲好。
oldParagraphFormat = range.ParagraphFormat;
range.Text = "new text";
range.ParagraphFormat = oldParagraphFormat; // oldParagraphFormat's objects are reset
其臨時變量失去其格式..? oldAlignment或者oldAlignment和oldLeftIndent ..? – MethodMan
都不是。編輯意味着我試圖做var oldParagraphFormat = range.ParagraphFormat,這沒有奏效。我會重新編輯我的問題來說明問題。 –
看來,你只是重新分配,你可能要探討如何將新ParagraphFormat.Alignment作爲添加了一絲值oldAlignment和oldLeftIndent .. – MethodMan