C# 给word文档添加目录

yqsg1217 2011-12-07 10:09:04
public void mulv() {
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();

object fileName = Server.MapPath("../Words/test.doc");
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);

oWord.ActiveDocument.TablesOfContents[1].TabLeader = WdTabLeader.wdTabLeaderDots;
oWord.ActiveDocument.TablesOfContents.Format = 0;

doc.Close(ref oMissing, ref oMissing, ref oMissing);
oWord.Quit(ref oMissing, ref oMissing, ref oMissing);
}
这是我的代码,生成之后第二遍之后,目录会重复添加,不能覆盖,并且子目录不能与根目录对齐!谢谢各位大虾的帮助!
...全文
425 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ztszhq 2013-07-17
  • 打赏
  • 举报
回复
在 object x = 0;上加

  for (int i = 1; i <=doc.TablesOfContents.Count; i++)
        {
            doc.TablesOfContents[i].Range.Delete();
        }
strawberry122 2013-07-16
  • 打赏
  • 举报
回复
引用 2 楼 dielianhua526 的回复:
我在使用这段代码的时候老是说“未找到目录项。”是怎么回事呢?
请问2楼解决“未找到目录项”的问题了吗?
strawberry122 2013-07-16
  • 打赏
  • 举报
回复
请问2楼解决“未找到目录项”的问题了吗?
dielianhua526 2012-10-25
  • 打赏
  • 举报
回复
我在使用这段代码的时候老是说“未找到目录项。”是怎么回事呢?
psyke99 2011-12-08
  • 打赏
  • 举报
回复
我的做法是,先创建目录
然后设置实际内容中每个条目的等级
wrdRng.ParagraphFormat.OutlineLevel = Word.WdOutlineLevel.wdOutlineLevel1;
结束时 oWord.ActiveDocument.TablesOfContents[1].Update();
内容概要:本文档聚焦于基于Peng-Robinson状态方程的化工热力学计算研究,系统介绍了利用Matlab代码实现纯组分及多组分系统的压缩因子(z因子)和逸度系数的计算方法,并进一步拓展至泡点压力与露点压力的数值求解。资源涵盖了从状态方程推导、非线性方程求根、相平衡条件判断到迭代算法实现的完整技术路线,提供了可运行的Matlab程序代码,有助于深入理解实际工程中物性参数的计算原理与实现过程; 适合人群:具备化工热力学基础知识和一定Matlab编程能力的高校学生、科研人员及工程技术人员,尤其适合从事过程系统模拟、油气田开发、精馏设计及相关领域研究的专业人士; 使用场景及目标:① 掌握Peng-Robinson方程在真实气体物性计算中的应用;② 实现多组分混合体系的相平衡计算与泡/露点预测;③ 为Aspen Plus等商用流程模拟软件提供底层算法验证与教学参考;④ 支持科研论文复现、课程设计、毕业设计及工业过程优化中的热力学数据支撑需求; 阅读建议:建议读者结合经典化工热力学教材同步学习,重点理解立方型状态方程的根判别、迭代收敛策略与相平衡准则的数学表达,动手调试并运行所提供的Matlab代码以掌握算法细节,还可将其扩展应用于其他状态方程(如SRK、vdW)的对比分析研究。

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧