大侠帮助,在知道range的情况下,怎么能获得这个range的paragraph呢?(前提range不跨段落)

解决方案 »

  1.   


    //导出word
    public class BiultReportForm        
    {        
    ///             
    /// word 应用对象            
    ///           
      private Microsoft.Office.Interop.Word.Application _wordApplication;
                    
    ///             
    /// word 文件对象            
    ///             
    private Microsoft.Office.Interop.Word.Document _wordDocument;
                 
    ///             
    /// 创建文档            
    ///             
    public void CreateAWord()            
    {                //实例化word应用对象               
      this._wordApplication = new Microsoft.Office.Interop.Word.ApplicationClass();
      Object myNothing = System.Reflection.Missing.Value;
      this._wordDocument = this._wordApplication.Documents.Add(ref myNothing, ref myNothing, ref myNothing, ref myNothing);
                
    }            
    ///             
    /// 添加页眉
                
    ///             
    ///             
    public void SetPageHeader(string pPageHeader)
     {                
    //添加页眉                
    this._wordApplication.ActiveWindow.View.Type =Microsoft .Office .Interop .Word.WdViewType.wdOutlineView;                
    this._wordApplication.ActiveWindow.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekPrimaryHeader;                
    this._wordApplication.ActiveWindow.ActivePane.Selection.InsertAfter(pPageHeader);                
    //设置中间对齐                
    this._wordApplication.Selection.ParagraphFormat.Alignment =Microsoft .Office .Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;                
    //跳出页眉设置                
    this._wordApplication.ActiveWindow.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekMainDocument;            
    }            
    ///             
    /// 插入文字            
    ///             
    /// 文本信息            
    /// 字体打小            
    /// 字体颜色            
    /// 字体粗体            
    /// 方向            
    public void InsertText(string pText, int pFontSize, Microsoft.Office.Interop.Word.WdColor pFontColor, int pFontBold, Microsoft.Office.Interop.Word.WdParagraphAlignment ptextAlignment)            
    {                
    //设置字体样式以及方向                
    this._wordApplication.Application.Selection.Font.Size = pFontSize;                
    this._wordApplication.Application.Selection.Font.Bold = pFontBold;                
    this._wordApplication.Application.Selection.Font.Color= pFontColor;                
    this._wordApplication.Application.Selection.ParagraphFormat.Alignment = ptextAlignment;                
    this._wordApplication.Application.Selection.TypeText(pText);            
    }                    
    ///             
    /// 换行            
    ///             
    public void NewLine()            
    {                
    //换行                
    this._wordApplication.Application.Selection.TypeParagraph();            
    }         
    ///             
    /// 插入一个图片            
    ///             
    ///             
    public void InsertPicture(string pPictureFileName)            
    {                
    object myNothing = System.Reflection.Missing.Value;                
    //图片居中显示                
    this._wordApplication.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;                
    this._wordApplication.Application.Selection.InlineShapes.AddPicture(pPictureFileName, ref myNothing, ref myNothing, ref myNothing);            
    }         
    ///             
    /// 保存文件             
    ///             
    /// 保存的文件名            
    public void SaveWord(string pFileName)            
    {                
    object myNothing = System.Reflection.Missing.Value;                
    object myFileName = pFileName;                
    object myWordFormatDocument =Microsoft .Office .Interop .Word.WdSaveFormat.wdFormatDocument;                
    object myLockd = false;                
    object myPassword = "";                
    object myAddto = true;                
    try               
    {                    
    this._wordDocument.SaveAs(ref myFileName, ref myWordFormatDocument, ref myLockd, ref myPassword, ref myAddto, ref myPassword,                        
    ref myLockd, ref myLockd, ref myLockd, ref myLockd, ref myNothing, ref myNothing, ref myNothing,                         
    ref myNothing, ref myNothing, ref myNothing);                
    }                
    catch               
    {                    
    throw new Exception("导出word文档失败!");                
    }            
    }        
      

  2.   


    不是导出,我做的是通过word上的光标位置获取到光标所在的句子,并提取出来。就是想实现一个这样的功能。
      

  3.   


    //c# word 在当前光标位置插入内容 
    /// <summary>
            /// 在当前光标位置插入内容
            /// </summary>
            /// <param name="text">内容</param>
            public void SelectionInsertText(string text)
            {
                Word.Selection currentSelection = Application.Selection;            // Store the user's current Overtype selection
                bool userOvertype = Application.Options.Overtype;            // Make sure Overtype is turned off.
                if (Application.Options.Overtype)
                {
                    Application.Options.Overtype = false;
                }            // Test to see if selection is an insertion point.
                if (currentSelection.Type == Word.WdSelectionType.wdSelectionIP)
                {
                    //currentSelection.TypeText("Inserting at insertion point. ");
                    currentSelection.TypeText(text);
                    currentSelection.TypeParagraph();
                }
                else
                {
                    if (currentSelection.Type == Word.WdSelectionType.wdSelectionNormal)
                    {
                        // Move to start of selection.
                        if (Application.Options.ReplaceSelection)
                        {
                            object direction = Word.WdCollapseDirection.wdCollapseStart;
                            currentSelection.Collapse(ref direction);
                        }
                        //currentSelection.TypeText("Inserting before a text block. ");
                        currentSelection.TypeText(text);
                        currentSelection.TypeParagraph();
                    }
                    else
                    {
                        // Do nothing.
                    }
                }            // Restore the user's Overtype selection
                Application.Options.Overtype = userOvertype;
            }