批量定时任务将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:\Users\wangj01052\Desktop\tools\"
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
AutoOpen
Sub AutoOpen() Call rtfToDocx End Sub
这些操作完后在每次打开这个工具word后就会触发转化操作;
之后你可能还会想如果这个转为工作能做个计划任务就好了,此时就可以考虑用window的计划任务了,计划任务如何配置可以自行百度,现在关键的地方在于如果通过能被window执行的脚本启动word触发宏事件转化操作,我们这里可以用bat批量cmd脚本方式,具体脚本如下
start winword.exe tool.doc
到这里,批量定时任务将rtf文件转为docx的工作就完成了!
批量定时任务将rtf文件转为docx,入参是rtf文件夹,生成一个docx文件夹的更多相关文章
- 用php生成一个excel文件(原理)
1.我们用php来生成一个excel文档来讲述其原理: excel2007里面的文档目录组成部分为: 2.我们使用ZipArchive()方法来生成一个简易的excel文件. 使用方法: 3.代码如下 ...
- Bitmap文件格式+生成一个BMP文件
Bitmap的文件格式: #define UINT16 unsigned short #define DWORD unsigned int #define WORD short #define LON ...
- Log4j使用笔记:每天生成一个日志文件、按日志大小生成文件
其中TestLog4j.java如下: package cn.zhoucy.test; import org.apache.log4j.Logger; public class TestLog4j { ...
- 非正常关闭vi编辑器时会生成一个.swp文件
非正常关闭vi编辑器时会生成一个.swp文件 关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备 ...
- python excel操作 练习:#生成一个excel文件,生成3个sheet,每个sheet的a1写一下sheet的名称。每个sheet有个底色
练习:#生成一个excel文件,生成3个sheet,每个sheet的a1写一下sheet的名称.每个sheet有个底色 #coding=utf-8 from openpyxl import Workb ...
- salesforce 零基础学习(五十三)多个文件生成一个zip文件(使用git上封装的代码)
此篇参考git代码:https://github.com/pdalcol/Zippex 学习salesforce可以访问一个朋友的网站:https://www.xgeek.net 首先感谢git上提供 ...
- 原创:无错版!让DEDE只生成一个RSS文件,不分栏目
DEDE为每一个栏目都独立创建一个rss文件, 如果用户要整站订阅相当不方便. 所以需要修改让dede只生成一个rss. 网上大部分帖子要么是抄, 要么是有问题少了步骤. 今天特意整理下. 分享.. ...
- HTML 5 应用程序缓存(Application Cache)cache manifest 文件使用 html5 中创建manifest缓存以及更新方法 一个manifest文件会创建一份缓存,不同的manifest文件其缓存的内容是互不干扰的
HTML5 离线缓存-manifest简介 HTML 5 应用程序缓存 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. 什么是应用程序缓存(A ...
- ROS知识(16)----如何编译时自动链接同一个工作空间的其他包的头文件(包含message,srv,action自动生成的头文件)
catkin_make编译时,往往需要自动链接同一个工作空间的其他包的头文件.否则会出现类似如下的错误: /home/xx/xx_ws/srcA_package/src/db.hpp:13:26: f ...
随机推荐
- c++11 快速退出
C++程序中有以下几种推出方式:terminate abort exit terminate: 实际上是c++语言中异常处理的一部分(包含在<exception>头文件中),一般而言,没有 ...
- BZOJ 2286: [Sdoi2011]消耗战 虚树
Description 在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达.现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的能源维系战斗,我军 ...
- Cluster基础(五):配置tracker、配置storage、文件测试及web访问
一.配置tracker 目标: FastDFS是一个分布式文件系统,主要的服务器角色有Tracker和Storage.本例安装一台Tracker,实现以下功能: 接受客户端的访问 检索存储节点,为客户 ...
- Delphi实现获取磁盘空间大小的方法
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ...
- OSI参考模型和网络排错
OSI七层协议 应用层 应用程序通信服务 表示层 显示 加密 数据格式 会话层 服务器和客户机建立会话 netstat -nb 查看会话 mscofig 传输层 可靠回话传输 分段 ...
- ECSHOP2.7源码分析
目录结构
- 本站CSS代码
body { /*字体样式*/ font-family: "youyuan",幼圆,"MicrosoftJhengHei",华文细黑,STHeiti,MingL ...
- Flannel - 配置
原文地址 flannel 从 ETCD 中读取配置. 默认情况下,flannel 从 /coreos.com/network/config 中读取配置,可以使用 --etcd-prefix 覆盖. 通 ...
- python的前景
最近几年Python编程语言在国内引起不小的轰动,有超越Java之势,本来在美国这个编程语言就是最火的,应用的非常非常的广泛,而Python的整体语言难度来讲又比Java简单的很多.尤其是在运维的应用 ...
- 《JAVA设计模式》之迭代器模式(Iterator)
在阎宏博士的<JAVA与模式>一书中开头是这样描述迭代子(Iterator)模式的: 迭代子模式又叫游标(Cursor)模式,是对象的行为模式.迭代子模式可以顺序地访问一个聚集中的元素而不 ...