900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > python自动生成word目录_python win32com 库批量自动更新word目录

python自动生成word目录_python win32com 库批量自动更新word目录

时间:2018-11-20 17:30:34

相关推荐

python自动生成word目录_python win32com 库批量自动更新word目录

前言

win32com 模块主要为 Python 提供调用 windows 底层组件对 word、Excel、PPT 等进行操作的功能,只能在 Windows 环境下使用,并且需要安装 office 相关软件才行(WPS也行)。

实例代码

下方代码实现自动更新当前路径下所有word文档的目录。

import win32com.client

import os

import time

def update_doc(file):

word = win32com.client.DispatchEx("Word.Application") # 模拟打开 office

try:

doc = word.Documents.Open(file) # 打开文件

doc.TablesOfContents(1).Update() # 更新目录

doc.Close(SaveChanges=True) # 关闭文档

word.Quit() # 退出

except:

print(file,"文件无目录!")

def run():

file = os.path.realpath('./') + '\\' # 获取当前文件路径,并在尾部添加‘\’

print(file)

files = os.listdir(file) # 获取当前路径下所有文件名称

print('files:',files)

file_names = [f for f in files if f.endswith((".doc", ".docx"))] # 将所有word文件名称存入file_names

print(file_names)

for file_name in file_names:

if '~$' not in file_name:

file_path = os.path.join(file, file_name) #将文件路径与文件名连接在一起

print("开始处理:",file_name)

update_doc(file_path) #更新目录

ticks_3 = time.time()

print(file_name,"处理完成!",time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(ticks_3)))

if __name__== "__main__" :

run()

Post Views:

10

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。