清除空行-选区处理

 

1、清除空行-选区处理

 1 #region add by whl 20141219
 2 MSWord.Paragraphs myParagraphs = oRange.Paragraphs;
 3 int i = 0;
 4 foreach (MSWord.Paragraph myParagraph in myParagraphs)
 5 {
 6     i++;
 7     //剪切空行,下一行的Range上移,若下一行为空行,此时仍会当成myparagraphs中的元素,此处即排除此种情况
 8     if (i > myParagraphs.Count)
 9     {
10         break;
11     }
12     if (myParagraph.Range.Text == "\r")
13     {
14         myParagraph.Range.Cut();
15     } 
16 }
17 #endregion

改进

 1 #region add by whl 20141219
 2 MSWord.Paragraphs myParagraphs = oRange.Paragraphs;
 3 int i = 0;
 4 foreach (MSWord.Paragraph myParagraph in myParagraphs)
 5 {
 6     i++;
 7     if ((myParagraph.Range.Text == "\r") && (i <= myParagraphs.Count))
 8     {
 9         myParagraph.Range.Cut();
10     }
11 }
12 #endregion

 再次改进

#region 清除空行
if (cBClearBS.Checked)
{
    #region add by whl 20141219
    MSWord.Range LastParaRange = null;
    MSWord.Paragraphs myParagraphs = oRange.Paragraphs;
    int numPara = myParagraphs.Count;               
    int i = 0;
    foreach (MSWord.Paragraph myParagraph in myParagraphs)
    {
        i++;
        if ((myParagraph.Range.Text == "\r") && (i <= numPara))
        {
            if (myParagraph.Range.End == _doc.Content.End)//若包含最后一段,则单独处理
            {
          LastParaRange = myParagraph.Range;
          break;
            }
            myParagraph.Range.Cut();
        }
    }
    if (LastParaRange != null)//单独处理最后一段
    {
        LastParaRange.Cut();
    }
    #endregion
}

#endregion

 

posted on 2014-12-19 11:22  whl-hl  阅读(192)  评论(0)    收藏  举报

导航