我使用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