zoukankan      html  css  js  c++  java
  • 批量定时任务将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的工作就完成了!

  • 相关阅读:
    家谱树 x
    codevs 1231 最优布线问题 x(find函数要从娃娃抓起系列)
    洛谷 P1546 最短网络 Agri-Net x
    codevs 5969 [AK]刻录光盘x
    家谱(gen)x
    [POJ2594]Treasure Exploration(最小路径覆盖变种,floyd算法,匈牙利算法)
    [HDOJ5855]Less Time, More profit(最大权闭合子图,二分,最大流)
    [HDOJ1054]Strategic Game(最小点覆盖,最大二分匹配,HK算法)
    [HDOJ3829]Cat VS Dog(最大独立集)
    [HDOJ3488]Tour(二分图最小匹配,KM算法)
  • 原文地址:https://www.cnblogs.com/xiaoping1993/p/11447050.html
Copyright © 2011-2022 走看看