vsto word 获取目录起始页和结束页,如目录起始位置为2、结束位置为3,返回2和3

2023-11-21 15:12

本文主要是介绍vsto word 获取目录起始页和结束页,如目录起始位置为2、结束位置为3,返回2和3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

using Word = Microsoft.Office.Interop.Word;namespace VstoWordExample
{class Program{static void Main(string[] args){// 请确保你的项目引用了 Microsoft.Office.Interop.Word// 创建 Word 应用程序对象Word.Application wordApp = new Word.Application();// 打开文档Word.Document doc = wordApp.Documents.Open(@"C:\Path\To\Your\Document.docx");// 获取目录的范围Word.Range tocRange = GetTableOfContentsRange(doc);// 获取目录的起始页和结束页int startPage = GetPageNumber(doc, tocRange.Start);int endPage = GetPageNumber(doc, tocRange.End);// 输出结果Console.WriteLine($"Table of Contents starts on page {startPage} and ends on page {endPage}");// 关闭 Word 应用程序wordApp.Quit();}// 获取文档的页数static int GetPageNumber(Word.Document doc, int charPosition){return doc.Range(1, charPosition).Information[Word.WdInformation.wdActiveEndPageNumber];}// 获取目录的范围static Word.Range GetTableOfContentsRange(Word.Document doc){foreach (Word.TableOfContents toc in doc.TablesOfContents){// 假设目录在文档的第一个表格中if (toc.Range.Tables.Count > 0){return toc.Range;}}// 如果找不到目录,返回 null 或者处理其他逻辑return null;}}
}

在 VSTO(Visual Studio Tools for Office)中,你可以使用 C# 或 VB.NET 与 Word 进行交互以获取文档的目录(Table of Contents)的起始页和结束页。以下是一个示例代码,演示如何获取目录的起始页和结束页:

上述代码假设目录是文档的第一个表格。你可以根据你的文档结构进行相应的修改。请注意,文档页数的计算可能受到页眉、页脚等因素的影响,具体实现可能需要更详细的处理逻辑。

这篇关于vsto word 获取目录起始页和结束页,如目录起始位置为2、结束位置为3,返回2和3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/403165

相关文章

[word] word设置上标快捷键 #学习方法#其他#媒体

word设置上标快捷键 办公中,少不了使用word,这个是大家必备的软件,今天给大家分享word设置上标快捷键,希望在办公中能帮到您! 1、添加上标 在录入一些公式,或者是化学产品时,需要添加上标内容,按下快捷键Ctrl+shift++就能将需要的内容设置为上标符号。 word设置上标快捷键的方法就是以上内容了,需要的小伙伴都可以试一试呢!

vue项目集成CanvasEditor实现Word在线编辑器

CanvasEditor实现Word在线编辑器 官网文档:https://hufe.club/canvas-editor-docs/guide/schema.html 源码地址:https://github.com/Hufe921/canvas-editor 前提声明: 由于CanvasEditor目前不支持vue、react 等框架开箱即用版,所以需要我们去Git下载源码,拿到其中两个主

chart 完成拓扑图单节点拖拽不影响其他节点位置

就是做这种的功能,箭头原本是可以动态重复移动的,但不知道哪里问题导致没箭头了,然后补了个edgeSymbol: ['','arrow'], 字段,才增加了箭头。 拖拽某个节点,只有关联到的线条会跟着变动其他的节点位置不变。 参考 https://gallery.echartsjs.com/editor.html?c=x8Fgri22P9 https://echarts.baidu.com/exa

【青龙面板辅助】JD商品自动给好评获取京豆脚本

1.打开链接 开下面的链接进入待评价商品页面 https://club.jd.com/myJdcomments/myJdcomments.action?sort=0 2.登陆后执行脚本 登陆后,按F12键,选择console,复制粘贴以下代码,先运行脚本1,再运行脚本2 脚本1代码 可以自行修改评价内容。 var content = '材质很好,质量也不错,到货也很快物流满分,包装快递满

设置android返回键,保存和取得最高分

1.在.h中声明一些方法 virtual void keyBackClicked();           //Android返回键 bool isHaveSaveFile(); void getHighestHistoryScore(); 在.cpp中实现这个几个方法 void WelcomeLayer::keyBackClicked(

ScrollView 往上滑动,里面的一个View停在某个位置的思路

1.scrollView的contentoffset 为view的左上角,减去此时scrollView的左上角 2.而且还不需要让那个红色的view removeFromSuperView ,直接self.view AddSubView 就会自动从原来的那个View脱离开来 3.以后遇到问题的思路。当发现UIView很许多奇特的效果的时候,思考它是不是在不断的改变父控件。 #pragma m

关于word文档中目录的switch

有很多的switch,下面这篇文章介绍的比较详细,可以参考:http://word.mvps.org/FAQs/Formatting/TOCSwitches.htm

Spring 内部类获取不到@Value配置值问题排查(附Spring代理方式)

目录 一、实例问题 1、现象 2、原因 3、解决 二、Spring的代理模式 1、静态代理(Static Proxy) 1)原理 2)优缺点 3)代码实现 2、JDK动态代理(JDK Dynamic Proxy) 1)原理 2)优缺点 3)代码实现 3、cglib 代理(Code Generation Library Proxy) 1)原理 2)优缺点 3)代码实

获取Windows系统版本号(转)

https://blog.csdn.net/sunflover454/article/details/51525179

算法7— 判断一个单链表是否有环,如果有,找出环的起始位置

第一种方法是从单链表head开始,每遍历一个,就把那个node放在hashset里,走到下一个的时候,把该node放在hashset里查找,如果有相同的,就表示有环,如果走到单链表最后一个node,在hashset里都没有重复的node,就表示没有环。 这种方法需要O(n)的空间和时间。 第二种方法是设置两个指针指向单链表的head, 然后开始遍历,第一个指针走一步,第二个指针走两步,如果没