首页 > 代码库 > C#操作Word生成目录
C#操作Word生成目录
C#代码
- OperateWord ow = new OperateWord();
- Microsoft.Office.Interop.Word.ApplicationClass ss = ow.WordApplication;
- AddContent(ref ss);
- void AddContent(ref Microsoft.Office.Interop.Word.ApplicationClass app)
- {
- Object oMissing = System.Reflection.Missing.Value;
- Object oTrue = true;
- Object oFalse = false;
- Object oUpperHeadingLevel = "1";
- Object oLowerHeadingLevel = "3";
- Object oTOCTableID = "TableOfContents";
- app.Selection.Start = 0;
- app.Selection.End = 0;//将光标移动到文档开始位置
- object beginLevel = 2;//目录开始深度
- object endLevel = 2;//目录结束深度
- object rightAlignPageNumber = true;// 指定页码右对其
- /*
- * Range
- * UserHeadingStyles 使用heading风格
- * UpperHeadingLevel 增加heading级别
- * LowerHeadingLevel 减小heading级别
- * UserFields 使用fields
- * Tableid tableid
- * RightAlignPageNumbers 右对齐页数
- * IncludePageNumbers 包含页数
- * Addedstyles 添加风格
- * UserHyperlinks 使用超链接
- * HidePageNumbersInweb 隐藏页数
- * UseOutLineLevels 使用提纲级别
- * TableOfContents 内容表
- */
- app.Application.ActiveDocument.TablesOfContents.Add(app.Selection.Range, ref oTrue, ref oUpperHeadingLevel,
- ref oLowerHeadingLevel, ref oMissing, ref oTOCTableID, ref oTrue,
- ref oTrue, ref oMissing, ref oTrue, ref oTrue, ref oTrue);//添加目录
- //写入目录
- }
参考1:
C#代码
- 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;
- }
- }
参考2:
C#代码
- void AddContent(ref Word.Appliction app)
- {
- app.Selection.Start=0;
- app.Selection.End=0;//将光标移动到文档开始位置
- object beginLevel=2;//目录开始深度
- object endLevel=2;//目录结束深度
- object rightAlignPageNumber=true;// 指定页码右对其
- app.ActiveDocument.TablesOfContents.Add(app.Selection.Range,ref miss,rightAlignPageNumber,ref miss,
- ref miss,ref miss,ref miss,ref miss);//写入目录
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。