利用AI大模型实现把图片、文件名批量插入文档并自动排版

2019年,因为工作需要,在整理材料的时候遇到需要把若干张图片插入到一个word文档中的情形,每个图片的大小要一致,还要在图片下方打一句话说明图片的内容,如下图:

刚开始的时候采用了最直接的办法,也就是一张一张图片插入文档,然后调整大小、调整对齐,再打字以“时间+照片内容”的格式解释图片内容。

但这种方法属实太慢,对于这一类属于机械、重复的工作,有没有快捷的办法解决呢?于是开始在网上搜索解决办法,最终找一个名为“批量插入照片及文件名到WORD(宏)”的word文档(如下图),利用这个宏文件,可以直接把选择的文件夹中所有图片插入到word文档,并自动提取图片的文件名插入到图片的下一行居中显示,图片的大小一致并自动对齐,实现所需的效果。

如果提前把图片文件名以“时间+照片内容”的格式命名好,那么插入到文档中只需要短短数秒即可完成其他工作,极大地提高了工作效率。

注:“宏”是一系列 Word 命令和指令的组合,用户可以将其录制下来,形成一个可自动执行重复任务的操作集。本质上它相当于一个自定义的自动化脚本,能够帮助简化文档编辑过程中频繁执行的操作流程,提高工作效率。

对于非专业人员一般无法开发功能复杂的宏指令。但时间来到2024年,AI大模型迅猛发展,在代码生成、补全、审查与错误检测、翻译等方面的功能已经非常强大。对于普通人来说,能不能借助AI,自己来编写所需要特定功能的宏或代码呢?如果可行的话,在特定场景(机械、重复的工作)就可以极大提高工作效率。

经过测试,本人利用AI大模型重现了“批量插入照片及文件名到WORD(宏)”的功能(代码可在文末下载)。以下对重现的过程进行介绍,并通过本案例分析用好AI大模型的要点,最终实现在此基础上进行能力迁移

目录
一、使用的AI大模型
二、输入指令
三、测试指令并调试
四、用好AI大模型的要点

五、启发

一、使用的AI大模型

本次使用的是豆包PC客户端和通义千问网页版代码模式。豆包是本人使用较多的AI助手,而通义千问推出的代码模式则令人觉得它比较“专业”,本次测试是两个AI模型结合使用才最终解决问题。

二、输入指令

根据所需实现的功能以及操作的先后顺序,我首先在豆包输入以下指令:

请帮我生成一段基于微软word软件的宏代码,实现把选定文件夹内所有图片添加到word文档的功能,具体如下:
1.运行宏文件时,打开对话窗口,在对话窗口可以选择文件夹
2.对话窗口可以选择或者输入栏的数量N,可以选择字体格式和字号
3.点击确定后,运行宏文件,把所选文件夹内所有图片添加到word文档中
4.提取每一张的图片文件名(不带后缀)插入到图片的下一行,按照所选的字体格式和字号居中显示
5.图片的宽度按照所选栏数对应的宽度自动适应,图片的高度按照图片宽度保持比例不变自动适应。

执行结果如下(代码部分已折叠未展示):

因为代码分成了不同板块,感觉自己操作起来过于麻烦,因此决定改用通义千问。复制指令到通义千问输入,运行结果如下:

注意到,通义千问生成的代码只有一段,而不是像豆包一样是分开的三段代码。

询问如何使用该代码:

三、测试指令并调试

按照说明把代码复制到VBA编辑器保存并运行宏,发现需要手动输入字体和字号,且只插入了图片,没有插入文件名。于是输入指令修改:

但是执行起来又出现的新的错误,于是输入错误提示信息及代码位置,继续修改:

运行时提示错误438:对象不支持该属性或方法。调试模式下显示错误位置是 fontName = .Name

此后一直无法解决通过窗体选择字体和字号的问题,于是选择删除这个功能。此后的调试依然不成功。在通义千问未能实现所需功能的情况下,选择切换到豆包继续尝试。受通义千问一段代码的启发,在输入豆包的指令中增加了第六条:

请帮我生成一段基于微软word软件的宏代码,实现把选定文件夹内所有图片添加到word文档的功能,具体如下:
1.运行宏文件时,打开对话窗口,在对话窗口可以选择文件夹
2.对话窗口可以选择或者输入栏的数量N
3.点击确定后,运行宏文件,把所选文件夹内所有图片添加到word文档中
4.提取每一张的图片文件名(不带后缀)插入到图片的下一行,按照所选的字体格式和字号居中显示
5.图片的宽度按照所选栏数对应的宽度自动适应,图片的高度按照图片宽度保持比例不变自动适应。
6.封装成一个代码

结果豆包真的生成了一段代码,并在后面附上详细解释:

在豆包生成的代码能够完美处理页面布局为1栏的情况,但是对于页面布局为2栏的情况出现没有栏间距的情况,于是不断输入错误信息进行修改,但豆包生成的代码一直相同的几个版本中不断重复出现,始终不能解决问题。于是决定放弃豆包,将豆包生成的代码复制到通义千问:

发现豆包未能解决的问题,在通义千问这里解决了。出现小小问题继续反馈,再次测试:

发现能够完美实现所需功能,于是让AI记忆此代码方便以后调用。

四、用好AI大模型的要点

  1. 要能够用语言清晰地描述所需要实现的功能,描述越清晰,生成代码越符合需求。
  2. 灵活使用多个大模型,发挥其长处。通过本案例可以发现,目前任何一个AI大模型并不能解决所有问题,不同的大模型面对相同问题时处理方式不同,得到的结果自然也不同。
  3. 反馈错误的时候要尽量准确,能够使用调试模式确定错误位置是最好的。
  4. 以上过程虽然不需要懂得编写代码,但是分析处理问题的思维和编程是非常类似的,培养逻辑思维、分解思维、调试思维至关重要。

五、启发

  1. 遇到“机械、重复”的工作或事情时,首先要思考的是有没有高效、快捷的办法。本人多年的经验显示:只要能想到的问题,99%的情况是网上已经有别人想到了,并有了解决的办法。不怕问题难,就怕没想法。
  2. 培养学生时,要注重培养逻辑思维能力和创新能力,善于使用工具。

附:代码下载

https://www.123865.com/s/CuxCjv-dxYud

以上所使用软件为微软office365版本,WPS功能类似,打开VBA、允许宏运动的办法请自行搜索。

欢迎在此基础上探索:

  1. 图片的顺序对插入文档之后的顺序有无影响?
  2. 页面布局为1栏时,如何设置每页直插入2张照片?
  3. 页面布局为2栏时,如何设置每栏图片都是从上往下显示相同的数量(如左边栏和右边栏各显示3张,对称分布;而不是左边放4张,右边只放2张)?

滚动至顶部