我创建了一个Windows应用程序,我们正在自动化MsOffice。
目前我正在开展工作,"清除所有格式化文字"。此方法将清除单词中特定文本的格式,并将设置默认字体及其大小。
以下是我到目前为止所尝试的代码:
public static bool ClearAllFormatting(IQuestion question, string filename, string text )
{
WordInterop.Application wordApplication = GetOrCreateWordApplication(question.ObjectStore);
try
{
//Avoid screen flickering or unwanted alerts while initializing
wordApplication.ScreenUpdating = false;
WordInterop.WdAlertLevel displayAlertLevel = wordApplication.DisplayAlerts;
wordApplication.DisplayAlerts = WordInterop.WdAlertLevel.wdAlertsNone;
WordInterop.Document wordDocument = wordApplication.Documents.Open(filename);
WordInterop.Paragraph para = wordDocument.Paragraphs[1];
WordInterop.Range range = para.Range;
if(range.Find.Execute(text))
{
range.Find.ClearFormatting();
}
object missing = Type.Missing;
wordDocument.Save();
object save_changes = false;
wordDocument.Close(ref save_changes, ref missing, ref missing);
return true;
}
catch (Exception)
{
Cleanup(question.ObjectStore, true);
}
return false;
}
但是,不幸的是,这种方法并没有清除文本上的格式。
任何人都可以帮助我。
由于