C#操作Word生成索引相关知识整理

 

OperateWord ow = new OperateWord();
Microsoft.Office.Interop.Word.ApplicationClass ss = ow.WordApplication;
            AddContent(ref ss);
			
 void AddContent(ref   Microsoft.Office.Interop.Word.ApplicationClass app)
        {

            Object oMissing = System.Reflection.Missing.Value;
            Object oTrue = true;
            Object oFalse = false;
            Object oUpperHeadingLevel = "1";
            Object oLowerHeadingLevel = "3";
            Object oTOCTableID = "TableOfContents";

            app.Selection.Start = 0;

            app.Selection.End = 0;//将光标移动到文档开始位置

            object beginLevel = 2;//目录开始深度

            object endLevel = 2;//目录结束深度

            object rightAlignPageNumber = true;// 指定页码右对其

            /*
             * Range
             * UserHeadingStyles 使用heading风格
             * UpperHeadingLevel 增加heading级别
             * LowerHeadingLevel 减小heading级别
             * UserFields 使用fields
             * Tableid tableid
             * RightAlignPageNumbers 右对齐页数
             * IncludePageNumbers 包含页数
             * Addedstyles 添加风格
             * UserHyperlinks 使用超链接
             * HidePageNumbersInweb 隐藏页数
             * UseOutLineLevels 使用提纲级别
             * TableOfContents 内容表
             */
            app.Application.ActiveDocument.TablesOfContents.Add(app.Selection.Range, ref oTrue, ref oUpperHeadingLevel,
                ref oLowerHeadingLevel, ref oMissing, ref oTOCTableID, ref oTrue,
                ref oTrue, ref oMissing, ref oTrue, ref oTrue, ref oTrue);//添加目录

            //写入目录
        }

参考1:

private void button1_Click(object sender, EventArgs e)
        { 
            Object oMissing = System.Reflection.Missing.Value;
            Object oTrue = true;
            Object oFalse = false;
             
            Microsoft.Office.Interop.Word.Application oWord = new Microsoft.Office.Interop.Word.Application();
            Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document(); 

            oWord.Visible = true;
            object fileName = this.textBox1.Text;
            doc = oWord.Documents.Open(ref fileName,
            ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
            ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
            ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);

            //---------------------------------------------------------------------------------------------------------------------
            oWord.Selection.Paragraphs.OutlineLevel = WdOutlineLevel.wdOutlineLevel2;
            oWord.Selection.Paragraphs.OutlineLevel = WdOutlineLevel.wdOutlineLevel3;
            oWord.Selection.Paragraphs.OutlineLevel = WdOutlineLevel.wdOutlineLevelBodyText;

            object x = 0;
            Range myRange = doc.Range(ref x, ref x);  
            Object oUpperHeadingLevel = "1";
            Object oLowerHeadingLevel = "3";
            Object oTOCTableID = "TableOfContents";
            doc.TablesOfContents.Add(myRange, ref oTrue, ref oUpperHeadingLevel,
                ref oLowerHeadingLevel, ref oMissing, ref oTOCTableID, ref oTrue,
                ref oTrue, ref oMissing, ref oTrue, ref oTrue, ref oTrue);
            //---------------------------------------------------------------------------------------------------------------------
            //Object oSaveAsFile = fileName;
            //doc.SaveAs(ref oSaveAsFile, ref oMissing, ref oMissing, ref oMissing,
            //    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
            //    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
            //    ref oMissing, ref oMissing);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            OpenFileDialog fd = new OpenFileDialog();
            if (fd.ShowDialog() == DialogResult.OK)
            {
                this.textBox1.Text = fd.FileName;
            }
        }

参考2:

      void AddContent(ref   Word.Appliction app)

      {

              app.Selection.Start=0;

              app.Selection.End=0;//将光标移动到文档开始位置

             object beginLevel=2;//目录开始深度

             object endLevel=2;//目录结束深度

             object rightAlignPageNumber=true;// 指定页码右对其

            app.ActiveDocument.TablesOfContents.Add(app.Selection.Range,ref miss,rightAlignPageNumber,ref miss,

                                                     ref miss,ref miss,ref miss,ref miss);//写入目录



 }

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值