我使用python的pywin32.client扩展并构建Word文档。我尝试了很多很好的方法来生成ToC,但都失败了。

我认为我想做的是调用ActiveDocument对象,并通过MSDN页面中的以下示例创建一个对象:

SetmyRange=ActiveDocument.Range(Start:=0,End:=0)ActiveDocument.TablesOfContents.AddRange:=myRange,_UseFields:=False,UseHeadingStyles:=True,_LowerHeadingLevel:=3,_UpperHeadingLevel:=1

除Python外,它类似于:

wordObject.ActiveDocument.TableOfContents.Add(Range=???,UseFiles=False,UseHeadingStyles=True,LowerHeadingLevel=3,UpperHeadingLevel=1)

到目前为止,我已经使用“选择”对象(下面的示例)构建了所有内容,并希望在第一个分页符之后添加此ToC。

这是文档外观的一个示例:

objWord=win32com.client.Dispatch("Word.Application")objDoc=objWord.Documents.Open('pathtotemplate.docx')#objSel=objWord.Selection#These seem to work but I don't know why...objWord.ActiveDocument.Sections(1).Footers(1).PageNumbers.Add(1,True)objWord.ActiveDocument.Sections(1).Footers(1).PageNumbers.NumberStyle=57objSel.Style=objWord.ActiveDocument.Styles("Heading 1")objSel.TypeText("TITLE PAGE AND STUFF")objSel.InsertParagraph()objSel.TypeText("Some data or another"objSel.TypeParagraph()objWord.Selection.InsertBreak()####INSERT TOC HERE####

任何帮助将不胜感激!在理想的情况下,我将使用Word GUI中可用的默认第一个选项,但这似乎指向文件并且较难访问(关于模板)。

谢谢

解决方案

手动,在Word中编辑模板,添加ToC(最初为空),任何介绍性内容,页眉/页脚等,然后在要插入文本内容的位置(即,ToC之后)放置一个唯一命名的书签。然后在您的代码中,基于模板创建一个新文档(或打开模板,然后将其保存为其他名称),搜索书签并在其中插入您的内容。保存到其他文件名。

这种方法具有各种优点-您可以在Word中格式化模板,而不必编写所有代码详细信息,因此,当有人说他们希望Normal字体更大/或更小/时,您可以非常轻松地编辑模板以更新样式粉色,您只需编辑模板即可完成此操作。确保在代码中使用样式,并且仅在格式与默认样式明显不同时才应用格式。

不知道如何确定实际生成的ToC,可能在每次保存时自动更新。

python生成word目录_Word&Python-创建目录相关推荐

  1. python生成word目录_Python 文件与目录操作方法总结

    Python 有很多内置的模块和函数可用于文件的操作处理,这些函数都分布在几个模块上:如 os,os.path,shutil 和pathlib 等等.本文收集了许多您需要知道的函数,以便在 Pytho ...

  2. python生成word目录_使用Python更新MS Word .docx文档的目录(目录)

    我使用python包" python-docx"来修改MS Word .docx文档的结构和内容.该软件包无法更新TOC(目录)[Python: Create a "Ta ...

  3. RPA教学:python 生成 word、ppt 操作源码分享

    了解RPA: www.i-search.com.cn 学习RPA https://support.i-search.com.cn/ 下载RPA: https://www.i-search.com.cn ...

  4. python生成word中文字体

    python生成word中文字体 我们今天用python生成word文件,主要是用到了PyRTF包生成rtf文件,由于PyRTF的包中文教程比较少,所以特此记录几篇文章,也希望给大家有一些帮助. 开始 ...

  5. python生成word 带目录_利用python程序生成word和PDF文档的方法

    一.程序导出word文档的方法 将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob.Apache POI.Java2Word.iText等各种方式,以及使用fr ...

  6. python生成word文档_python实现的生成word文档功能示例

    本文实例讲述了python实现的生成word文档功能.分享给大家供大家参考,具体如下: 每月1次的测试费用报销,需要做一个文档.干脆花点时间写个程序吧. # -*- coding: utf-8 -*- ...

  7. python 自动生成word文档,python实现的生成word文档功能示例

    python实现的生成word文档功能示例 发布时间:2020-09-23 11:37:44 来源:脚本之家 阅读:108 作者:zhizunyu2009 本文实例讲述了python实现的生成word ...

  8. python生成word图表_工作汇报神技!用Python三步生成带有图表的word报表

    最近在项目中做了一个生成并导出word报表的功能,在这里分享给大家. 经过查看ESPC原有的生成报表代码和网上查阅的一些方法,解决方案的思路如下: 1. 利用pychartdir库生成图表,保存图片, ...

  9. python生成word文档的表格_2018-10-04 [日常]用Python读取word文档中的表格并比较

    演示如下. 两个简单的word文档, 各有一个表格: 读取文档中的表格到列表(为演示只对单列表格操作): import docx def 取表格(文件名): 文件 = docx.Document(文件 ...

最新文章

  1. python考级证书-Python 全国考级二级
  2. mysql aes java解密_加密/解密的Java函數,如Mysql的AES_ENCRYPT和AES_DECRYPT
  3. php 复制文件夹并压缩到最小_PHP压缩文件夹的方法
  4. c# 批量mqtt_C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载)
  5. Python treelib库创建多叉树的用法介绍
  6. OpenCV-数字图像处理之中值滤波
  7. Windows GVim
  8. python gc_Python垃圾收集(Python GC)
  9. [图]礼仪大赛策划方案:使用PPT,如何打造一场专业而又经济的礼仪大赛呢?
  10. Mongoose学习参考文档
  11. 课程作业记录10:63位PN码序列扩频通信Matlab仿真
  12. 用户画像 客户消费模型表
  13. Bypass注入(WAF绕过)
  14. 利用计算机来对指纹,指纹自动识别系统.doc
  15. oracle exclude table,EXPDP/IMPDP:关于EXCLUDE参数
  16. Linux第7章Gdk及Cairo基础,源文件:Ubuntu中使用GLUT和GDK将图片文件加载到纹理单元...
  17. 架构师推荐书籍 一
  18. 计算机病毒1000字,《大鱼海棠》观后感1000字
  19. 如何制作RJ45超五类线缆?六个步骤搞定!
  20. Windows7 个人服务详解及优化

热门文章

  1. 洛奇6里很喜欢的一段话!洛奇6经典台词!而是你能挨多重,并且坚持向前,你能承受多少并且坚持向前,这样才叫胜利!
  2. 关于目标检测你必须知道的……
  3. 基于OpenCV的人员剔除
  4. 使用ExpandableListView以及如何优化view的显示减少内存占用
  5. Ubuntu 17 安装sublime
  6. DHCP之一 DHCP的部署安装
  7. 如何构造强度较高的密码
  8. cloudera之hadoop-0.20.1+152.tar.gz 安装出现找不到JAVA_HOME问题的解决办法
  9. 帧中继简单总结(修改)
  10. Something needs to be forgotten.