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

本文介绍了一种利用C#编程语言实现Word文档自动化生成目录的方法。通过Microsoft.Office.Interop.Word库,可以实现设置段落提纲级别、添加目录等功能。文中提供了具体的代码示例,包括如何在文档中插入符合要求的目录。
497

被折叠的 条评论
为什么被折叠?



