excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel VBA 文件合并神器/EXCEL、WORD、PDF、图片合并为PDF

本文于2023年7月31日首发于本人同名公众号:Excel活学活用,更多文章案例请搜索关注!

内容提要

  • 文件合并功能扩展

  • EXCEL合并、WORD合并、PDF合并、图片合并

大家好,我是冷水泡茶,前天我写了一篇文章回答粉丝朋友的代码错误问题,但我没有提到他的代码是干什么用的,其实,他的代码是用VBA合并PDF文件。

起初,我有点不以为然:

后来,我一想,我们不是分享过EXCEL文件的合并吗?是不是可以资源整合一下呢?WORD文件可不可以合并?图片文件可不可以合并成PDF?

突然觉得有必要来搞点事情。经过两天的考虑、写代码、测试,终于基本达成目标,我们一起来看一下吧:

设计思路

1、参考我们前面文件拆分工具,使用用户窗体。

2、不同的合并类型,通过选项按钮来判定。

3、通过FSO文件系统对象来选择文件夹,包括待合并文件所在文件夹,合并文件保存文件夹。

4、通过FSO文件系统对象来遍历文件夹下所有文件,根据不同的合并类型,选择不同后缀名的文件进行处理。

5、EXCEL文件,可以选择跳过第一行表头。

6、WORD文件,可以选择每个文件另起一页。

7、PDF文件,通过Acrobat库打开文件操作。

8、图片文件,参照PDF合并,用Acrobat打开再插入页面。

9、保存文件名可自定义。

实现过程

1、设计窗体

2、编写代码:

这里就列一些模块名称,稍作解释,完整代码放在第二条文章。

Private Sub UserForm_Initialize()窗体初始化默认保存文件夹为当前程序文件所在文件夹 Private Sub CkbName_Click()自定义保存文件名称Private Sub CmdChoosePath_Click()选择待合并文件所在文件夹Private Sub CmdConfirm_Click()确认按钮,根据不同的选项运行不同的代码,调用不同的过程Private Sub CmdChooseSavePath_Click()选择保存文件的文件夹Private Sub CombineExcel()合并EXCEL文件过程Private Sub CombinePDF()合并PDF文件过程Private Sub CombineWord()合并WORD文件过程Private Sub CombinePicturesToPDF()合并图片文件为PDF文件Function ConvertPicToPDF(picName, pdfPath) As String自定义图片转PDF函数取得转换为PDF的文件名Function wContinue(Msg) As Boolean自定义函数确认继续执行Private Sub CmdExit_Click()退出窗体

其他

1、在写图片转为PDF过程中,费了比较大的周折。本来以为用PDF打开再插入到合并文件中,但就是跑不通。最后,自定义了一个函数,把图片转为PDF文件,存到一个临时目录,并记下保存的文件名,然后再参照合并PDF过程进行合并。

2、合并PDF过程,参考那位粉丝朋友的代码,作了一些调整,在此表示感谢。

3、合并EXCEL过程,基本照搬我们前面的代码。EXCEL工作表的合并,默认要求是相同数据结构的工作表,否则合并就没有什么意义了。本来还想做一个把所有工作表全部复制到一个工作簿中,后来觉得意义不是很大,加之时间关系,就算了。

4、合并文件顺序,应该是按照文件名升序。

5、不同类型的文件可以放在同一个文件夹下,只针对某一类文件进行合并。

6、本工具经过简单测试运行正常,但不排除还有其它BUG。若有朋友发现的,请在评论区留言,感谢!

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接