wordopen.Selection.WholeStory();//选择了全文 
int linenember = wordopen.Selection.Rows.Count;//然后要获取文本行数,结果失败了
//因为Rows只能用于表格,我估摸着文本行得用Lines,但找不到Lines,哪位大神帮忙解决一下!!
//在这里先谢谢了!!!c#wordoffice

解决方案 »

  1.   

    看了这位大哥的博客
    http://blog.csdn.net/educast/article/details/4420111
    没整明白
    大家帮忙看看,怎么能得到行数
    新手啊,实在是搞不定
      

  2.   

    换个方法?你想要行数做什么呢 不知道word有没有类似readline的功能 每次readline就+1 最后得到行数?
      

  3.   

    做循环,i<行数
    对word操纵相当累啊
    大家帮忙看看
      

  4.   

    看到有个大牛写的,你可以试试读取内容分割
    Word.ApplicationClass wordApp=new ApplicationClass();
    object file=path;
    object nullobj=System.Reflection.Missing.Value;   
    Word.Document doc = wordApp.Documents.Open(
    ref file, ref nullobj, ref nullobj,   
    ref nullobj, ref nullobj, ref nullobj,   
    ref nullobj, ref nullobj, ref nullobj,   
    ref nullobj, ref nullobj, ref nullobj);doc.ActiveWindow.Selection.WholeStory();
    doc.ActiveWindow.Selection.Copy();
    IDataObject data=Clipboard.GetDataObject();
    string str=data.GetData(DataFormats.Text).ToString();
    doc.Close();
      

  5.   

    谢谢楼上
    不过这个仅仅是读取复制,我是想在后台word里面对文本格式进行操纵。
      

  6.   

    建议楼主在word里面,选择工具菜单下面的宏,录制一个新宏,内容是CTRL+G 定位到某一行,停止录制宏后参考代码,下面是我录制的(word2003),仅供参考:
    Sub Macro2()
    '
    ' Macro2 Macro
    ' 宏在 2013-2-4 由 雨林木风 录制
    '
        Selection.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=6, Name:=""
        Selection.Find.ClearFormatting
        With Selection.Find
            .Text = ""
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
    End Sub