C# Word 2007删除分节符
我有一个word 2007C# Word 2007删除分节符,c#,replace,ms-word,ms-office,C#,Replace,Ms Word,Ms Office,我有一个word 2007.doc文件,其中包含多个子文档,这些文档由多个部分分隔 有没有办法从文档中删除所有分节符 我试图找到并替换它们,但收到一个错误 private void RemoveAllSectionBreaks(Word.Document doc) { Word.Find find = doc.Range(ref oMissing, ref oMissing).Find; find.ClearFormatting(); //find.Text = &quo
.doc
文件,其中包含多个子文档,这些文档由多个部分分隔
有没有办法从文档中删除所有分节符
我试图找到并替换它们,但收到一个错误
private void RemoveAllSectionBreaks(Word.Document doc)
{
Word.Find find = doc.Range(ref oMissing, ref oMissing).Find;
find.ClearFormatting();
//find.Text = "^b"; // This line throws an error
find.Text =((char)12).ToString(); // Same error when attempting it this way
find.Replacement.ClearFormatting();
find.Replacement.Text = "";
find.Execute(ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, Word.WdReplace.wdReplaceAll, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
}
find.Text
行将生成错误-
用户代码未处理SEHExException
外部组件引发了异常
我没有得到关于错误可能是什么的任何进一步细节。该代码在word 2003中运行正常,但我需要在word 2007中运行该代码
我是否遵循word 2007的正确方法?我最终采用了不同的方法。由于单词find功能导致了一个错误,我决定对搜索/删除进行编码。下面的代码将删除它遇到的所有分节符
private void RemoveAllSectionBreaks(Word.Document doc)
{
Word.Sections sections = doc.Sections;
foreach (Word.Section section in sections)
{
section.Range.Select();
Word.Selection selection = doc.Application.Selection;
object unit = Word.WdUnits.wdCharacter;
object count = 1;
object extend = Word.WdMovementType.wdExtend;
selection.MoveRight(ref unit, ref count, ref oMissing);
selection.MoveLeft(ref unit, ref count, ref extend);
selection.Delete(ref unit, ref count);
}
}
很晚才恢复,但我使用的另一种解决方案是,您也可以使用VSM查找并替换分节符,使用“^m”表示节,使用“^p”表示段落,或者使用空字符串
using Word = Microsoft.Office.Interop.Word;
object missing = Missing.Value;
Word.Document tmpDoc = wordApp.Documents.Open(fileToOpen);
object findText = "^m";
object replaceText = "^p^p";
tmpDoc.Range().Find.Execute(ref findText,
true, true, true, ref missing, ref missing, ref missing,
ref missing, ref missing, ref replaceText, Word.WdReplace.wdReplaceAll,
ref missing, ref missing, ref missing, ref missing);
除此之外,我还设法找出了根本问题——对于遇到这张支票的谷歌用户来说——以解决最初的查找问题。