C#操作Word生成目录

  1. OperateWord ow = new OperateWord();
  2. Microsoft.Office.Interop.Word.ApplicationClass ss = ow.WordApplication;
  3. AddContent(ref ss);
  4. void AddContent(ref   Microsoft.Office.Interop.Word.ApplicationClass app)
  5. {
  6. Object oMissing = System.Reflection.Missing.Value;
  7. Object oTrue = true;
  8. Object oFalse = false;
  9. Object oUpperHeadingLevel = "1";
  10. Object oLowerHeadingLevel = "3";
  11. Object oTOCTableID = "TableOfContents";
  12. app.Selection.Start = 0;
  13. app.Selection.End = 0;//将光标移动到文档开始位置
  14. object beginLevel = 2;//目录开始深度
  15. object endLevel = 2;//目录结束深度
  16. object rightAlignPageNumber = true;// 指定页码右对其
  17. /*
  18. * Range
  19. * UserHeadingStyles 使用heading风格
  20. * UpperHeadingLevel 增加heading级别
  21. * LowerHeadingLevel 减小heading级别
  22. * UserFields 使用fields
  23. * Tableid tableid
  24. * RightAlignPageNumbers 右对齐页数
  25. * IncludePageNumbers 包含页数
  26. * Addedstyles 添加风格
  27. * UserHyperlinks 使用超链接
  28. * HidePageNumbersInweb 隐藏页数
  29. * UseOutLineLevels 使用提纲级别
  30. * TableOfContents 内容表
  31. */
  32. app.Application.ActiveDocument.TablesOfContents.Add(app.Selection.Range, ref oTrue, ref oUpperHeadingLevel,
  33. ref oLowerHeadingLevel, ref oMissing, ref oTOCTableID, ref oTrue,
  34. ref oTrue, ref oMissing, ref oTrue, ref oTrue, ref oTrue);//添加目录
  35. //写入目录
  36. }

参考1:

  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. Object oMissing = System.Reflection.Missing.Value;
  4. Object oTrue = true;
  5. Object oFalse = false;
  6. Microsoft.Office.Interop.Word.Application oWord = new Microsoft.Office.Interop.Word.Application();
  7. Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document();
  8. oWord.Visible = true;
  9. object fileName = this.textBox1.Text;
  10. doc = oWord.Documents.Open(ref fileName,
  11. ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
  12. ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
  13. ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
  14. //---------------------------------------------------------------------------------------------------------------------
  15. oWord.Selection.Paragraphs.OutlineLevel = WdOutlineLevel.wdOutlineLevel2;
  16. oWord.Selection.Paragraphs.OutlineLevel = WdOutlineLevel.wdOutlineLevel3;
  17. oWord.Selection.Paragraphs.OutlineLevel = WdOutlineLevel.wdOutlineLevelBodyText;
  18. object x = 0;
  19. Range myRange = doc.Range(ref x, ref x);
  20. Object oUpperHeadingLevel = "1";
  21. Object oLowerHeadingLevel = "3";
  22. Object oTOCTableID = "TableOfContents";
  23. doc.TablesOfContents.Add(myRange, ref oTrue, ref oUpperHeadingLevel,
  24. ref oLowerHeadingLevel, ref oMissing, ref oTOCTableID, ref oTrue,
  25. ref oTrue, ref oMissing, ref oTrue, ref oTrue, ref oTrue);
  26. //---------------------------------------------------------------------------------------------------------------------
  27. //Object oSaveAsFile = fileName;
  28. //doc.SaveAs(ref oSaveAsFile, ref oMissing, ref oMissing, ref oMissing,
  29. //    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
  30. //    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
  31. //    ref oMissing, ref oMissing);
  32. }
  33. private void button2_Click(object sender, EventArgs e)
  34. {
  35. OpenFileDialog fd = new OpenFileDialog();
  36. if (fd.ShowDialog() == DialogResult.OK)
  37. {
  38. this.textBox1.Text = fd.FileName;
  39. }
  40. }

参考2:

  1. void AddContent(ref   Word.Appliction app)
  2. {
  3. app.Selection.Start=0;
  4. app.Selection.End=0;//将光标移动到文档开始位置
  5. object beginLevel=2;//目录开始深度
  6. object endLevel=2;//目录结束深度
  7. object rightAlignPageNumber=true;// 指定页码右对其
  8. app.ActiveDocument.TablesOfContents.Add(app.Selection.Range,ref miss,rightAlignPageNumber,ref miss,
  9. ref miss,ref miss,ref miss,ref miss);//写入目录
上一篇:WPF C# 命令的运行机制


下一篇:java8 Consumer的使用