Python win32com模块 合并文件夹内多个docx文件为一个docxpython
#!/usr/bin/env python # -*- coding: utf-8 -*- from win32com.client import Dispatch import os,sys #import pandas as pd #下面三句是为了能取得系统自带常量 from win32com.client import constants as con #from win32com.client.gencache import EnsureDispatch #EnsureDispatch('Word.Application') def mkdir(path): # 引入模块 # import os # 去除首位空格 # path=path.strip() # 去除尾部 \ 符号 # path=path.rstrip("\\") # 判断路径是否存在 # 存在 True # 不存在 False isExists=os.path.exists(path) # 判断结果 if not isExists: # 若是不存在则建立目录 # 建立目录操做函数 os.makedirs(path) print(path+'建立成功') return True else: # 若是目录存在则不建立,并提示目录已存在 print(path+' 目录已存在') return False pwd=__file__ pwd=os.path.dirname(pwd) print(pwd) mkdir(os.path.join(pwd,'hebing')) #xlApp=Dispatch('Excel.Application') wdApp=Dispatch('Word.Application') #xlApp.Visible=1 docB=wdApp.Documents.Add() #=====页面设置====== ps=56.7 docB.PageSetup.TopMargin=ps docB.PageSetup.BottomMargin=ps docB.PageSetup.LeftMargin=ps docB.PageSetup.RightMargin=ps docB.SaveAs(pwd + '\\hebing\\hebing.docx',14) #======保存文档========= for root,dirs,files in os.walk(os.path.join(pwd,'放word文档的文件夹'),topdown=False): print(files) for name in files: docT=wdApp.Documents.Open(os.path.join(root,name)) #docT.Range(0,0)#光标定位文档开始 wdApp.Selection.WholeStory()#全选word文档 wdApp.Selection.Copy() docB.Activate() #wdApp.Selection.EndKey(Unit=con.wdLine) docB.Range()#光标定位文档结束 wdApp.Selection.Delete() wdApp.Selection.Paste() docT.Close() docB.Save() docB.Close() wdApp.Quit()