VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > 简明python教程 >
  • Python win32com模块 合并文件夹内多个docx文件为一个docx

Python win32com模块 合并文件夹内多个docx文件为一个docx

复制代码
#!/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()
复制代码


相关教程