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);//写入目录

C#操作Word生成目录的更多相关文章

  1. Aspose.Words操作word生成PDF文档

    Aspose.Words操作word生成PDF文档 using Aspose.Words; using System; using System.Collections.Generic; using ...

  2. VBA操作word生成sql语句

    项目开始一般都是用word保存下数据库的文档 但是从表单一个一个的建表实在是很困难乏味,查查资料 1.可以生成一个html或者xml,检索结构生成sql.但是这个方式也蛮麻烦 2.查到vba可以操作w ...

  3. DocX操作word生成报表

    1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱尔兰的一个叫Cathal Coffey的博士生开发出来的.DocX使得操作w ...

  4. word生成目录的pdf

    在很多情况下,需要将Word转换为带目录书签的PDF,方便pdf阅读,所以可以使用word自带的pdf转换,在转换时设置相关即可 注意:待转换Word中应该有目录,可以用Word中的标题来自动生成目录 ...

  5. word 生成目录

    生成目录: (1)Ctrl+End,到达文档的最后一页: (2)"插入"菜单--引用--索引和目录(此时出现索引和目录对话框): (3)单击"目录"选项卡 a. ...

  6. [转载]java操作word生成水印

    应用场景 为了保护版权或辨别文件的真伪,有时需要在生成的Word文件中动态添加水印,PageOffice组件的WaterMark类就封装了给在线编辑的Word文件添加水印这一功能,调用接口非常简单. ...

  7. [原创]java操作word生成水印

    应用场景 为了保护版权或辨别文件的真伪,有时需要在生成的Word文件中动态添加水印,PageOffice组件的WaterMark类就封装了给在线编辑的Word文件添加水印这一功能,调用接口非常简单. ...

  8. c# 操作Word总结(车)

    在医疗管理系统中为保存患者的体检和治疗记录,方便以后的医生或其他人查看.当把数据保存到数据库中,需要新建很多的字段,而且操作很繁琐,于是想到网页的信息创建到一个word文本中,在显示的时,可以在线打开 ...

  9. c# 操作Word总结【转】

    http://www.cnblogs.com/eye-like/p/4121219.html 在医疗管理系统中为保存患者的体检和治疗记录,方便以后的医生或其他人查看.当把数据保存到数据库中,需要新建很 ...

随机推荐

  1. EFSQLserver

    1.增加一条烽据 FLYNEWQKEntities dataContext = new FLYNEWQKEntities(); Log log = new Log(); log.Data1 = &qu ...

  2. 书签(Bookmarks)

    工作台允许使用者在文件中创建书签,通过这些书签,使用者可以从书签视图里快速打开这些文件,并跳转到相应的行. (1)在编辑器左边灰色的区域里单击鼠标右键,在弹出的菜单里选择“Add Bookmark.. ...

  3. 单独删除std::vector <std::vector<string> > 的所有元素

    下面为测试代码: 1.创建 std::vector< std::vector<string> > vc2; 2.初始化 std::vector<string> vc ...

  4. UDP模式与TCP模式的区别

    1.TCP有连接状态,而UDP没有. 2.TCP应用层使用无需考虑包的大小及发送情况,而UDP需要. 3.TCP中IP包大小的决定者是Socket,而UDP为应用层.

  5. Struts Convention Plugin 流程 (2.1.6+)

    首先添加lib: <dependency> <groupId>org.apache.struts</groupId> <artifactId>strut ...

  6. ESB服务号列表

    用于以下两个网址: -浙商ESB调用规范- xml格式 -浙商ESB调用规范- json格式   ESB服务号<SERVICE_NO>{serviceNo} 接口中文意思 42000000 ...

  7. spring 占位符 默认值

    问题: 今天结合spel使用占位符时,存在没有配置文件中没有配置项的情况,就想给配置一个默认值. 解决方案: public abstract class PlaceholderConfigurerSu ...

  8. java getEnv不区分大小写 getProperty区分大小写

    System.out.println(System.getenv("JAVA_HOME")); System.out.println(System.getenv("Pat ...

  9. labview视频采集IMAdx

    grab(连续采集) 摄像头打开之后便一直采集图像,存储在IMAQ开辟的临时空间里,只要while循环不断的读取临时空间就可以显示当前图像(grab调用的是image句柄)

  10. Cocos2d-x 关于在iOS平台真机测试的一些注意

    下面简单记录一下在最近cocos2d-x项目在iOS平台真机测试和模拟器测试中遇到的一些要注意的地方(使用ipod): 1.图片大小 游戏中基本上都是会用到图片,那么在使用图片的时候要特别注意图片的s ...