• 批量定时任务将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的工作就完成了!

  • 相关阅读:
    使用 Eclipse 调试 Java 程序的 10 个技巧
    oracle9i,10g再谈优化模式参数问题.
    oracle 索引
    解决IE不能在新窗口中向父窗口的下拉框添加项的问题
    获取文档的尺寸:利用Math.max的另一种方式
    揭开constructor属性的神秘面纱
    测试杂感:Windows8也许需要Account Hub
    探索式测试:探索是为了学习
    一次有教益的程序崩溃调试 (下)
    软件测试读书列表 (2013.8)
  • 原文地址:https://www.cnblogs.com/xiaoping1993/p/11447050.html
Copyright © 2020-2023  润新知