前言
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