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

来源:互联网 发布:幸运抽奖软件作弊 编辑:程序博客网 时间:2024/06/11 00:57

环境: 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;            }          }
这一段代码功能就是根据你所设定的大纲级别进行自动生成目录;

效果图:

代码自己写的   已经成功!

原创粉丝点击