C# Word 标题设置大纲级别和自动生成目录

环境: office2010  VS2010 

比如说:需要把这一个标题“第三方破坏的详细信息”设置成一级;

             代码:

oPara1.Range.Text = "第三方破坏的详细信息";
                oPara1.Range.Select();
                oPara1.OutlineLevel = Word.WdOutlineLevel.wdOutlineLevel1;

但是,只是这样的话,会把后面的所有一行设置成一级,所以在对第三方破坏的详细信息  完之后加上这一句:

oPara1.OutlineLevel =Word.WdOutlineLevel.wdOutlineLevelBodyText; 也就是把这一句后面内容取消级别设定


当然这只是生成大纲级别,生成目录的代码如下:

        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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值