• 批量定时任务将rtf文件转为docx,入参是rtf文件夹,生成一个docx文件夹


    java,python等语言对于rft的处理很受限,rtf提供了很少的api供外部调用处理,但是对于docx我们却又很多api来处理,所以很多人会有需求将rtf批量转为docx的需求,接下来就来说说解决方案

    查询资料可知,rtf格式文件可以被word打开,同时还可以被另存为docx格式文件;

    所以我们想如何才能通过脚本的方式来执行这样一个另存为的操作呢,word中的“宏”就可以解决这样的问题,可以编写脚本执行另存为,具体宏相关知识自行百度;

    好了,脚本方式执行另存为达到批量转化rtf到docx的目的,接下来就是会考虑如果触发这个宏的运行,我们可以alt+f11进入vb编辑页面插入module,编写word打开的事件触发。触发事件的脚本,批量rft转为docx的宏脚本如下

     rtfToDocx

    Sub rtfToDocx()
    Dim sEveryFile As String
    Dim sBasePath As String
    Dim sSourcePath As String
    Dim sNewSavePath As String
    Dim sDestPath As String
    Dim CurDoc As Object
    sBasePath = "C:Userswangj01052Desktop	ools"
    sSourcePath = sBasePath & "rtf"
    sDestPath = sBasePath & "docx"
    sEveryFile = Dir(sSourcePath & "*.Rtf")
    Do While sEveryFile <> ""
       Set CurDoc = Documents.Open(sSourcePath & sEveryFile, , , , , , , , , , , msoFalse)
       sNewSavePath = VBA.Strings.Replace(sDestPath & sEveryFile, ".Rtf", ".docx")
       CurDoc.SaveAs2 sNewSavePath, wdFormatDocumentDefault
       CurDoc.Close SaveChanges:=False
       sEveryFile = Dir
    Loop
    Set CurDoc = Nothing
    End Sub
    View Code

    AutoOpen

    Sub AutoOpen()
    
    Call rtfToDocx
    
    End Sub
    View Code

    这些操作完后在每次打开这个工具word后就会触发转化操作;

    之后你可能还会想如果这个转为工作能做个计划任务就好了,此时就可以考虑用window的计划任务了,计划任务如何配置可以自行百度,现在关键的地方在于如果通过能被window执行的脚本启动word触发宏事件转化操作,我们这里可以用bat批量cmd脚本方式,具体脚本如下

    start winword.exe tool.doc

    到这里,批量定时任务将rtf文件转为docx的工作就完成了!

  • 相关阅读:
    webpack 3.X学习之Babel配置
    git常用命令记录
    let const
    数据存储之HTTP Cookie
    cookie sessionStorage localStorage 之间的关系
    数据存储之Web存储(sessionStorage localStorage globalStorage )
    express官网学习笔记
    最近计划
    node.js进阶话题
    node.js核心模块
  • 原文地址:https://www.cnblogs.com/xiaoping1993/p/11447050.html
Copyright © 2020-2023  润新知