怎样在word中批量进行宏录制(值得收藏办公技巧)

各位Office办公工作的粉丝朋友们,大家好。不知道大家遇到过这样一个问题没有:低版本(97-2003)Office文档和高版本(2007及以上)如何实现批量互转,尤其是带启用宏的高版本Office文档和低版本(97-2003)Office文档互转的问题。事实上,这个问题也是一位粉丝朋友私信里问过我的,只不过是他提出能否批量将旧的Excel文档变成新的高版本的Excel,根据我对他提问的问题理解,他可能的意图是将低版本(97-2003)Office文档如何向高版本(2007及以上)批量转换。

对于这个问题,乍一看,也许对很多人而言是再普通不过的了,不就是另存为的简单操作吗?当然,文件很少的情况下,是可以的,也相当简单。不过,如果文件很多的情况下,是否也能很快完成互转呢?我相信,不是那么高效吧!既然是大量文件,涉及到的就是个批量处理问题。很显然,各位还是期待高效率的互转技巧、技术。

既然我们是Office高级办公,那就多数情况下少不了VBA后台的代码应用支持。今天,我们就以Excel文档为例来为大家详尽分享,其他的Office文档和此方法完全类似。下面,我们先来作一番实现这个问题的简单的知识储备和技术思路分析。

为了交互的友好性,我们得调用Windows的文件对话框的API函数实现文件的选取。我们可以选取Application.GetOpenFilename(Filters,FilterIndex,Title,ButtonText,MultiSelect)或者Application .FileDialog(msoFileDialogOpen)或者Application .FileDialog(msoFileDialogFilePicker)实现。这三个函数其实很简单,大家可以去网上查阅,因为它不是我们本次作品的重点。

那也许各位粉丝朋友会问,那重点是什么呢?问得非常好,我们本次作品分享如何互转才是重点也是硬核技术。该方法就是Office文档对象的SaveAs方法。具体如下。

一、新旧Office文档互转函数SaveAs用法

格式:Office文档对象.SaveAs FileName:=新文件名,Format:=新文件的格式类型

举例:Dim wb As Workbook

Set wb=Workbooks.Open(文件全路径)

wb.SaveAs FileName:=全路径的新文件名,Format:=xlExcel12

说明:将旧版本的Excel文档另存为高版本的Excel文档,其中的“xlExcel12”就是2007及以上的Excel文档。

二、及时关闭原来文档免遭破坏的方法

格式:源Office文档对象.Close False

举例:wb.Close False

说明:源工作簿文档不保存的关闭,其False标志就是这个意思。

三、删除源Office文档只保留另存的新格式文档方法

格式:Kill 源Office文档文件全路径

举例:Kill f_name

说明:删除wb文档文件,其中f_name为源Office文档文件全路径

四、用一个动态字符串数组获取选择文件打开对话框中选择的一个或多个文件的全路径文件名

格式:f_fullpathname=Application. GetOpenFilename(Filters,FilterIndex,Title,ButtonText,MultiSelect)

举例:Dim f_fullpathname

f_fullpathname=Application. GetOpenFilename(“All Files,*.*,Excel97-2003文档,*.xls”,2,”选择Excel文档”,1,MultiSelect:=True)

说明:将打开文件对话框中选择的文件名集合传给动态数组f_fullpathname,如果选择了取消,则f_fullpathname的值为False。

五、用循环结构完成动态数组f_fullpathname中所有文件的转换(批量)

大致结构如下:

For i=0 To Ubound(f_fullpathname)

f_name= f_fullpathname(i)

Set wb=Workbooks.Open(f_name)

wb.SaveAs FileName:=Replace(f_name,”.xls”,”.xlsx

”),FileFormat:= xlOpenXMLWorkbookMacroEnabled '保存为xlsm带宏的格式

wb.Close False

Kill f_name

Set wb=Nothing

Next

说明:该结构可以用于高低版本的Excel文档互转,重要的是注意.SaveAs中的“FileFormat:=”的取值,就没什么问题了。

六、高低版本的Excel文档互转的操作体验

(一)低版本的Excel文档转启用宏的高版本的Excel文档

1、点击主操作界面的按钮< Xls ---> Xlsm >,弹出文件对话框。如下图所示

怎样在word中批量进行宏录制(值得收藏办公技巧)(1)

图1 弹出打开文件对话框

2、点击该对话框的<取消>或者标题栏的<X>按钮,将弹出未选任何文件的消息框提示。如下图所示

怎样在word中批量进行宏录制(值得收藏办公技巧)(2)

图2 取消了文件的选取

3、否则,在上面的对话框中选择多个低版本的Excel文档。如下图所示

怎样在word中批量进行宏录制(值得收藏办公技巧)(3)

图3 在该打开文件对话框选择多个文档文件

4、点击<打开>按钮,开始进行各文档批量版本转换,转换完成将弹出成功转换的消息提示。如下图所示

怎样在word中批量进行宏录制(值得收藏办公技巧)(4)

图4 弹出转换成功的消息提示

5、查看转换结果。如下图所示

怎样在word中批量进行宏录制(值得收藏办公技巧)(5)

图5 验证转换结果展示

(二)启用宏的高版本的Excel文档转低版本的Excel文档

1、点击主操作界面的按钮< Xlsm ---> Xls>,弹出文件对话框。如下图所示

怎样在word中批量进行宏录制(值得收藏办公技巧)(6)

图6 弹出打开文件对话框

2、点击该对话框的<取消>或者标题栏的<X>按钮,将弹出未选任何文件的消息框提示。如下图所示

怎样在word中批量进行宏录制(值得收藏办公技巧)(7)

图7 取消了文件的选取

3、否则,在上面的对话框中选择多个低版本的Excel文档。如下图所示

怎样在word中批量进行宏录制(值得收藏办公技巧)(8)

图8 在该打开文件对话框选择多个文档文件

4、点击<打开>按钮,开始进行各文档批量版本转换,转换完成将弹出成功转换的消息提示。如下图所示

怎样在word中批量进行宏录制(值得收藏办公技巧)(9)

图9 弹出转换成功的消息提示

5、查看转换结果。如下图所示

怎样在word中批量进行宏录制(值得收藏办公技巧)(10)

图10 验证转换结果展示

从上面,给各位粉丝朋友完整呈现了带宏Office文档和2003及以下文档轻松批量互转的操作问题,是不是很强大呢?我们如何在VBA后台实现的呢?下面,我们就来给各位看看它们的功能实现的代码截图吧。

七、互转操作的后台功能代码实现

模块1中的代码截图如下

怎样在word中批量进行宏录制(值得收藏办公技巧)(11)

图11 互转代码截图1

怎样在word中批量进行宏录制(值得收藏办公技巧)(12)

图12 互转代码截图2

好了,整个操作及功能实现代码都分享给大家了,有心动的感觉吗?那就收藏吧,如果要实现启用宏高版本的Word文档和低版本97-2003的Word文档互转,或者启用宏高版本的PowerPoint文档和低版本97-2003的PowerPoint文档互转,方法和前面分享的几乎完全类似,不同的是要查阅相关的文档类型参数而已。

最后,还是那句老话,非常感谢各位粉丝朋友的长期关注(头条号:跟我学Office高级办公)、推广和对作品的点评!疫情快过去了,加之天气越来越热了,大家还是要多多注意身体健康哦,谢谢!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页