python利用pywin32/win32com实现批量转doc为docx!

亲测真是有效!在国内平台未搜到有效代码,在国外网站https://www.programmerall.com/article/1705387316/找到的可以实现!!!呜呜呜,终于!太感谢了!国内网站搜不到就试试英文关键字必应搜索国际版吧!!!

#首先得安装pywin32库,此处省略
import os
from win32com.client import Dispatch,DispatchEx,constants

def doc_to_docx(f_path):
    w=Dispatch('Word.Application')
    doc=w.Documents.Open(f_path)
    new_path=os.path.splitext(f_path)[0]+'.docx'
    doc.SaveAs(new_path,12,False,'',True,'',False,False,False,False)
    doc.Close()
    w.Quit()
    return new_path

path=r'E:\Desktop\doc文件夹'
docfiles=[]
filename=os.listdir(path)
for file in filename:
    docfile=os.path.join(path,file)
    docfiles.append(docfile)

for file in docfiles:
    try:
        doc_to_docx(file)
        print(file+'done!')
    except:
        print(file+'unununundone!')
        continue
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在使用PythonWin32com库操作Word文档时,如果需要检查文档中的inline_shape是否为Excel文件,并获取相应的workbook文件名,你可以按照以下步骤进行: 1. 首先,确保你已经安装了`pywin32`这个库,如果没有安装,可以通过pip安装: ```bash pip install pywin32 ``` 2. 使用Win32com打开Word文档,并遍历文档中的所有inline_shape。 3. 检查每个inline_shape的类型,如果类型为Excel文件,那么可以进一步获取workbook的文件名。 以下是一个简单的代码示例: ```python import win32com.client # 打开Word文档 doc = win32com.client.Dispatch("Word.Document") doc.Open("path_to_your_doc.docx") # 遍历文档中的所有inline_shape for shape in doc.InlineShapes: # 检查shape的类型是否为Excel文件 if shape.Type == win32com.client.constants.msoPicture: # 这里需要检查msoPicture类型是否包含了Excel文件类型 # 如果有,获取workbook文件名 # 注意:这里需要确保shape.Type为正确的类型来包含Excel文件 # 以下是假设的代码,具体实现可能需要查阅相关文档 # workbook_name = shape.Workbook.Name # print("Excel文件名:", workbook_name) pass # 如果没有有效的代码实现,则使用pass # 关闭文档 doc.Close() ``` 需要注意的是,上述代码中`shape.Type == win32com.client.constants.msoPicture` 这个判断可能不完全适用于Excel文件,因为`msoPicture`可能仅代表图片类型。Win32com对于嵌入的Excel对象的处理可能会有所不同,具体可能需要参考Microsoft Office的COM对象模型文档。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值