从句子范围替换Word换行符不起作用

时间:2015-12-16 14:05:34

标签: c# ms-word ms-office

我有一个应用程序,我希望获得单词内容的第一行,以自动设置文档的标题以保存它。

我这样做:

  if (WordApp != null)
  {
    FileName = WordApp.ActiveDocument.Name;
    // get the content from the first available text as filename
    if (IsNewRecord && WordApp.ActiveDocument.Sentences.Count > 0 )
      FileName = WordApp.ActiveDocument.Sentences.First.Text;
  }

然而它可行,但FileName也包含第一句的LineBreak

所以我试过了:

.Replace(Environment.NewLine, "")

但没有做任何事情,"\n"

任何人都知道我做错了什么或如何达到我的要求?

1 个答案:

答案 0 :(得分:1)

Word 换行符(例如,您可以在Windows Word上使用shift-Enter插入)由ASCII字符11表示,因此您可以在C#中查找,例如使用\ v。

Word 段落标记由ASCII字符13表示,您可以使用\ r找到它,至少在Windows上。

Windows和Mac之间的字符不同(我假设在线平台)。即,在基于Unix的系统上,段落标记始终为13(CR),从不为10(LF)。