环境: office VS
比如说:需要把这一个标题“第三方破坏的详细信息”设置成一级;
代码:
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;} }
这一段代码功能就是根据你所设定的大纲级别进行自动生成目录;
效果图:
代码自己写的 已经成功!