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