精华内容
下载资源
问答
  • 多个word替换
    千次阅读
    2021-02-14 23:39:04

    定义函数info_update。只需要向其中传入目标文件路径,待替换的词和新词即可

    import docx
    def info_update(doc,old_info, new_info):
        '''此函数用于批量替换合同中需要替换的信息
        doc:文件
        old_info和new_info:原文字和需要替换的新文字
        '''
        #读取段落中的所有run,找到需替换的信息进行替换
        for para in doc.paragraphs: #
            for run in para.runs:
                run.text = run.text.replace(old_info, new_info) #替换信息
        #读取表格中的所有单元格,找到需替换的信息进行替换
        for table in doc.tables:
            for row in table.rows:
                for cell in row.cells:
                    cell.text = cell.text.replace(old_info, new_info) #替换信息

    传入需要替换的原文件

    import os #用于获取目标文件所在路径
    path="data/" # 文件夹路径
    files=[]
    for file in os.listdir(path):
        if file.endswith(".docx") and file.startswith("公司"): #排除文件夹内的其它干扰文件,只获取word文件
            files.append(path+file) 
    files
    
    #打印结果
    ['data/公司001合同.docx',
     'data/公司002合同.docx',
     'data/公司003合同.docx',
     'data/公司004合同.docx',
     'data/公司005合同.docx',
     'data/公司006合同.docx',
     'data/公司007合同.docx',
     'data/公司008合同.docx',
     'data/公司009合同.docx',
     'data/公司010合同.docx']

    根据替换条件替换后保存

    for file in files:
        doc = docx.Document(file)
        info_update(doc,"商贸", "仁和")
        doc.save("data/替换结果/{}".format(file.split("/")[-1]))
        print("{}替换完成".format(file))
    
    #打印结果
    data/公司001合同.docx替换完成
    data/公司002合同.docx替换完成
    data/公司003合同.docx替换完成
    data/公司004合同.docx替换完成
    data/公司005合同.docx替换完成
    data/公司006合同.docx替换完成
    data/公司007合同.docx替换完成
    data/公司008合同.docx替换完成
    data/公司009合同.docx替换完成
    data/公司010合同.docx替换完成

    如果要替换指定地方的关键字,先获取关键字所在段落。

    #获取词"商贸"所在段落
    import docx #导入docx库
    doc = docx.Document("data/含干扰词/特殊_含干扰词.docx") #打开word文件
    text=[] #新建一个空列表text,然后将word文档中的所有段落对应的文本提取并存入这个列表。
            #列表是可以使用索引函数的,而列表里面元素的索引正好对应段落的索引。
    for para in doc.paragraphs: #读取word中的每个段落
        text.append(para.text)
    print(len(text))
    
    target_index=[] #空列表target_index,用于存储包含“商贸”一词的字符串在列表text中的索引
    for i in text:
        if "商贸" in i:
            target_index.append(text.index(i))
    target_index
    
    #77
    #[15, 26, 32, 38, 66]

    为了验证是否准确,我们可以打印看一下相应索引对应的段落是否真的包含“商贸”一词。如下打印结果显示,结果很理想。

    for j in target_index:
        print(doc.paragraphs[j].text)
    
    ’‘’乙方:ABC商贸有限责任公司
    1.交货方法:由乙方送货(国家主管部门规定有送货办法的,按规定的办法执行;没有规定送货办法的,按双方协议执行);商贸
    1.所有货物由乙方送到交货地点且甲方确认收货后5天内,由甲乙双方共同对货物的包装、
    外观、数量、商标、型号、规格及性能等进行验收,签署检验报告。如乙方未按约定到甲
    方指定地点参加检验的,应视为乙方对甲方单方检验的结果予以确认。验收标准执行合同
    规定的货物质量标准。商贸
    总价指甲方的交货价格,该价格应包含货物价格、通关费、包装费、物流费、装卸费、
    保险费、在甲方指定场所的安装调试费、必要的培训费以及增值税等一切费用。在乙
    方完全履行本合同下全部义务的情形下,除非另有书面约定,否则合同金额是甲方应
    当向乙方支付的全部费用 。商贸
    本合同自双方法定代表人或委托代理人签字盖章后生效,至合同条款履行完毕时终止。商贸‘’‘

    因为我们只替换第一、第三、第六个“商贸”为“仁和”,而第六个在表格中。所以需要改一下原来的替换函数info_update,命名为新的函数info_update_new,我们在函数内指定只替换段落15和32中的目标词,表格中的目标词也继续替换。

    import docx
    def info_update_new(doc,old_info, new_info):
        '''此函数用于批量替换合同中需要替换的信息
        doc:文件
        old_info和new_info:原文字和需要替换的新文字
        '''
        #读取段落中的所有run,找到需替换的信息进行替换
        for i in [15,32]:
            para=doc.paragraphs[i]
            for run in para.runs:
                run.text = run.text.replace(old_info, new_info) #替换信息
        #读取表格中的所有单元格,找到需替换的信息进行替换
        for table in doc.tables:
            for row in table.rows:
                for cell in row.cells:
                    cell.text = cell.text.replace(old_info, new_info) #替换信息

    用于获取目标文件所在路径

    import os #用于获取目标文件所在路径
    path="data/含干扰词/" # 文件夹路径
    files=[]
    for file in os.listdir(path):
        if file.endswith(".docx"): #排除文件夹内的其它干扰文件,只获取word文件
            files.append(path+file) 
    
    for file in files:
        doc = docx.Document(file)
        info_update_new(doc,"商贸", "仁和")
        doc.save("data/替换结果/{}".format(file.split("/")[-1]))
        print("{}替换完成".format(file))
    
    #data/含干扰词/特殊_含干扰词.docx替换完成

     

     

     

     

    更多相关内容
  • 批量修改替换多个Word文档中同一内容的方法
  • 批量替换多个word文档、多处内容、word中表格内容、小工具
  • word多个文档替换内容

    万次阅读 多人点赞 2018-09-05 14:51:57
    替换文件夹下所有文档的内容,需要替换的文档不能打开,采用宏进行批量替换,亲测成功,测试是word2016 根据简书作者改编https://www.jianshu.com/p/9d348b8015b6?utm_campaign=maleskine&utm_content=note...

    替换文件夹下所有文档的内容,需要替换的文档不能打开,采用宏进行批量替换,亲测成功,测试是word2016
    根据简书作者改编https://www.jianshu.com/p/9d348b8015b6?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
    第一步:新建一个Word并打开,点击工具栏视图–宏(下边的倒三角)–查看宏
    第一步
    第二步:填写一个文件名,点击创建
    第二步
    第三步:复制以下代码,替换新创建的宏代码(如果以前有宏注意不要误删),注意代码格式,保存

    Sub CommandButton1_Click()
    Application.ScreenUpdating = False  '关闭屏幕闪
    Dim myFile$, myPath$, i%, myDoc As Object, myAPP As Object, txt$, Re_txt$
    Set myAPP = New Word.Application
    With Application.FileDialog(msoFileDialogFolderPicker) '允许用户选择一个文件夹
        .Title = "选择目标文件夹"
        If .Show = -1 Then
            myPath = .SelectedItems(1) '读取选择的文件路径
        Else
            Exit Sub
        End If
    End With
    myPath = myPath & ""
    myFile = Dir(myPath & "\*.docx")
    txt = InputBox("需要替换的文字:")
    Re_txt = InputBox("替换成:")
    myAPP.Visible = True '是否显示打开文档
    Do While myFile <> "" '文件不为空
    Set myDoc = myAPP.Documents.Open(myPath & "\" & myFile)
    If myDoc.ProtectionType = wdNoProtection Then '是否受保护
        With myDoc.Content.Find
            .Text = txt
            .Replacement.Text = Re_txt
            .Forward = True
            .Wrap = 2
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            .Execute Replace:=2
        End With
    End If
    myDoc.Save
    myDoc.Close
    myFile = Dir
    Loop
    myAPP.Quit '关掉临时进程
    Application.ScreenUpdating = True
    MsgBox ("全部替换完毕!")
    End Sub
    
    

    第三步
    第四步:回到Word文档,点击视图–宏,运行宏
    第四步
    第五步:弹出窗口,选择需要替换文档的文件夹(文件夹下不会显示文件名)
    第五步
    第六步:要替换的文字
    第六步
    第七步:替换成
    第七步
    第八步:需要等待一会,显示全部替换完毕即可
    第八步

    展开全文
  • 当需要在多个WORD文档中批量查找替换时,此宏可帮助遍历整个目录下的所有doc和docx格式的word文件并批量进行替换保存操作,大大提高工作效率。 此文档是一个WORD的VBA宏,不存在病毒也无需注册收费。且除了需要打开...
  • 使用aspose-words.jar 实现word文件合并。开源版,下载后可一直使用 1、支持word文档内容部分替换 2、支持word内容合并,包含页眉、页脚、批注等信息 3、doc、docx文件均可支持 4、轻量级,引入jar 包即可引用
  • C# aspose.word 批量替换文件夹下所有word文件里的字符串代码,c#替换word文件最简单方法
  • 宏批量替换多个word指定文字

    千次阅读 2022-04-27 11:29:16
    1、新建一个word文本,点击”开发工具“菜单下的”宏“按钮(如没有开发工具可点击”视图“下的宏按钮) 2.输入名称后点击”创建“按钮 3.输入如下代码: Sub CommandButton1_Click() Application....

    1、新建一个word文本,点击”开发工具“菜单下的”宏“按钮(如没有开发工具可点击”视图“下的宏按钮)

    2.输入名称后点击”创建“按钮

    3.输入如下代码:

    Sub CommandButton1_Click()
    Application.ScreenUpdating = False  '关闭屏幕闪
    Dim myFile$, myPath$, i%, myDoc As Object, myAPP As Object, txt$, Re_txt$
    Set myAPP = New Word.Application
    With Application.FileDialog(msoFileDialogFolderPicker) '允许用户选择一个文件夹
        .Title = "选择Word所在文件夹"
        If .Show = -1 Then
            myPath = .SelectedItems(1) '读取选择的文件路径
        Else
            Exit Sub
        End If
    End With
    myPath = myPath & ""
    myFile = Dir(myPath & "\*.docx")
    txt = InputBox("需要替换的文字:")
    Re_txt = InputBox("替换成:")
    myAPP.Visible = True '是否显示打开文档
    Do While myFile <> "" '文件不为空
    Set myDoc = myAPP.Documents.Open(myPath & "\" & myFile)
    If myDoc.ProtectionType = wdNoProtection Then '是否受保护
        With myDoc.Content.Find
            .Text = txt
            .Replacement.Text = Re_txt
            .Forward = True
            .Wrap = 2
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            .Execute Replace:=2
        End With
    End If
    myDoc.Save
    myDoc.Close
    myFile = Dir
    Loop
    myAPP.Quit '关掉临时进程
    Application.ScreenUpdating = True
    MsgBox ("全部替换完毕!")
    End Sub

     

    完成后点击 ”保存“,然后关闭

    4.回到Word文档,点击宏,运行宏

    5.按照向导进行替换过程,等待弹出”全部替换完毕“后即可。

     

    展开全文
  • Apache poi 根据word模板生成word报表 替换 循环列表 图片,代码调试过了,修改相应的图片位置,word模板路径即可运行
  • 批量替换word文字

    2018-08-11 11:53:12
    此工具用于批量替换多个word中指定的相同文字,省时省力
  • NULL 博文链接:https://parra.iteye.com/blog/899893
  • C#版本 NPOI 批量替换Word文档(doc文件)变量的方法。 网上各种代码都是直接替换run,但实际上很多变量是由多个run表示的,并不能直接用,本代码完美支持{变量}替换
  • VBA批量替换多个WORD文档中的内容.docx
  • 批量修改替换多个Word, 第二种方法, A,首先将需要批量替换多个Word文档放在同一文件夹下面。  B,新建一空白Word文档,右击空白工具栏,单击“控件工具箱”,就可以看到屏幕上调出的控件工具箱。  C,在...
  • 概要:「我的ABC软件工具箱」支持批量查找 Word 文件中的关键字,并进行批量修改替换这些关键字。同时也支持批量查找修改替换 PPT 文件、Excel 文件、PDF 文件和文本文件(如:记事本 TXT、HTML、XML 等),我们可以...

    概要:「我的ABC软件工具箱」支持批量查找 Word 文件中的关键字,并进行批量修改替换这些关键字。同时也支持批量查找修改替换 PPT 文件、Excel 文件、PDF 文件和文本文件(如:记事本 TXT、HTML、XML 等),我们可以使用这个工具实现批量删除文件内的关键字,或修改替换成我们想要的关键字,非常实用。

    文件内容的查找与替换对我们每办公族来说再正常不过了,因为在工作中经常会需要碰到。今天要介绍的这款办公文件批量处理软件——我的ABC软件工具箱,它有个【按规则批量修改文件内容】的功能可以实现批量修改和替换 Word 文件的内容,同时也支持批量修改和替换 Excel、PPT、PDF、Txt 记事本、HTML、XML 等文本文件的内容。

    添加需要批量查找和替换的文档

    打开软件,进入「 按规则批量修改文件内容」的功能中,如下图:

    在右上角添加需要批量查找和替换的 Word、PPT、Excel、PDF 和文本文件(如:记事本 TXT、HTML、XML 等文件):

    设置批量查找和替换的规则

    上面已经添加了需要批量查找和替换文件内容的文档列表,这一步我们需要设置批量查找和替换的规则信息,一条规则是指我们一次查找与替换的设置,它明确地告诉软件需要批量查找什么以及需要批量替换成什么。

    如果我们需要将 Word 文件中的文本内容「ABC」 批量修改替换为「我的ABC」,那么可以这样设置:

    设置完后直接点保存按钮,然后一直下一步就可以了。

    查找类型说明

    精确文本

    精确文本是指我们输入的文本就是软件需要查找的内容,比如我在软件上填的查找内容为「ABC」,那么软件在批量查找 Word 文件时,如果该 Word 文件中确实存在「ABC」这个文本,那么就表示查找成功。换一句话说,这个查找类型不支持通配符。

    模糊文本

    模糊文本查找和我们平常说的「通配符」是一个意思,软件中使用的是「正则表达式」作为通配符的语法,和我们日常理解的「通配符」的语法差异很大,需要学习一下。

    批量精确文本

    只需要添加一条规则,同时精确查找和修改替换多个关键字

    批量模糊文本

    只需要添加一条规则,同时模糊查找和修改替换多个关键字

    展开全文
  • WordSR 在多个Word文件中批量查找替换

    热门讨论 2011-04-30 12:24:17
    WordSR 在多个Word文件中批量查找替换 版本 0.1 版权所有(C) 2011 lzy0168@gmail.com 保留所有权利 此程序为免费软件,仅为使用目的发布,而无任何担保 暂时在 windows 7 安装有 word 2007 的环境下测试通过,...
  • VBA做的工具,将需要替换的文字输入到表格中,然后一键完成多个文件的替换。特别适合一些格式化文件,比如合同、产品说明、ISO标准化文档(质量手册、程序文件、管理手册)、项目推广方案等,先做批量替换,再进行...
  • 需频繁批量替换文档的可以试试,可选定待替换文件夹,替换doc,xls文档,一次性替换多个字符串
  • 绝对好用的word操作 poi word2010替换文字 图片 表格
  • 找了好久才调试成功,主要是导入图片设置图片尺寸比较麻烦,设置文字的demo比较,但是很少有涉及到图片的demo ,好不容易找了一分享一下
  • 奈末Office批量转PDF助手,能快速性将多个Word,Excel,PowerPoint文档批量转换成pdf文件,无需打开文件即可转换,可选择MS OFFICE或WPS。软件简单易用,绿色软件,解压即可用,无需安装,同时
  • 批量修改word文档 数据,不限文档数量
  • 可以轻松地将某文件夹下的所有WORD文档中的某个字符串全部替换为其他字符串。下面是具体操作步骤。
  • word中做好一发票模板,然后将那些需要动态改的文字设成特定的标志,在VC中用word替换功能将其替换,这样可以省去很的麻烦,简化操作。这样一来,发票的格式,文字位置就可以简单地通过改变WORD模板的设计而...
  • 批量替换word文档文字工具,绿色免安装,无需注册码,直接运行
  • Word文档批量替换工具

    万次阅读 热门讨论 2019-07-01 11:25:01
    作者:iamlaosong 日常工作中可能会碰到这样的情况,就是需要批量替换一些文件的内容,如合同、产品说明、ISO认证...工具用VBA实现,主要是针对ISO认证标准化文档做的,即对多个文件做同样的替换。界面如下: ...
  • 给出Java-poi导出Word时,所需的Word模板。 注意:1,word模板中的表格单元格只能有唯一的变量。(如需多个变量,可以在word中隐藏表格来实现。) 2,word模板中变量前后不能有空格。
  • 背景:朋友工作中有多个Word文件,每次做更新时都要更新文档内的日期,每次手工更改都比较耗费时间,加上公司电脑不能装未授权的软件,且只支持英文,于是就根据这个需求,参考一些网上的代码,并做了一些升级,增加...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 139,861
精华内容 55,944
关键字:

多个word替换