word宏批量插入.csv格式的附件

1.ALT+F11打开宏的编译器,复制下面代码

2 F5运行,弹出对话框选择对应文件即可

vbscript 复制代码
Sub BatchInsertCSVAttachments()
    Dim fd As FileDialog
    Dim vrtSelectedItem As Variant
    Dim iconLabel As String
    
    ' 创建文件选择对话框
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    
    With fd
        .Title = "请选择要插入的CSV文件(可多选)"
        .Filters.Clear
        .Filters.Add "CSV Files", "*.csv"
        .AllowMultiSelect = True ' 允许通过按住 Ctrl 或 Shift 多选
        
        If .Show = -1 Then
            ' 遍历所选文件
            For Each vrtSelectedItem In .SelectedItems
                ' 获取文件名作为图标下方的标签
                iconLabel = Dir(vrtSelectedItem)
                
                ' 插入 OLE 对象(即文件附件)
                ' DisplayAsIcon:=True 强制显示为图标
                ' IconLabel 设置为文件名,否则会显示默认的 "Worksheet" 等字样
                Selection.InlineShapes.AddOLEObject _
                    FileName:=vrtSelectedItem, _
                    LinkToFile:=False, _
                    DisplayAsIcon:=True, _
                    IconLabel:=iconLabel
                
                ' 插入一个换行符,防止图标挤在一起
                Selection.TypeParagraph
                Selection.TypeParagraph
            Next
        End If
    End With
    
    MsgBox "批量插入完成!", vbInformation
    
    ' 清理内存
    Set fd = Nothing
End Sub
相关推荐
大卡拉米8 小时前
前端组件库 PDF、word、Excel预览
前端·pdf·word
渡我白衣8 小时前
C++可变参数队列与压栈顺序:从模板语法到汇编调用约定的深度解析
c语言·汇编·c++·人工智能·windows·深度学习·硬件架构
ysy16480672398 小时前
RabbbitMQ入门:从Windows版本RabbitMQ安装到Spring AMQP实战(一)
windows·rabbitmq·java-rabbitmq
大猫和小黄9 小时前
Windows 下使用 NVM 管理多个 Node.js 版本
windows·node.js
sztomarch10 小时前
Windows-PowerShell-prompt
windows·prompt
zdd5678919 小时前
关于Windows 11 家庭中文版 25H2中ensp无法启动路由器,报40错的解决方法
windows
胡闹5421 小时前
Linux查询防火墙放过的端口并额外增加需要通过的端口命令
linux·运维·windows
北极糊的狐21 小时前
若依系统报错net::ERR_CONNECTION_TIMED_OUT的原因
java·windows·sql·mybatis
45288655上山打老虎1 天前
List容器
数据结构·windows·list