Excel:vba实现批量插入图片批注

实现的效果:

实现的代码如下:

复制代码
Sub InsertImageNamesAndPictures()
    Dim PicPath As String
    Dim PicName As String
    Dim PicFullPath As String
    Dim RowNum As Integer
    Dim Name As String
    Dim Comment As Comment
    Dim folder As FileDialog '定义文件选择对话框
    
    ' 清空单元格中的内容和图片,防止有脏数据
    Cells.Clear
    For Each Pic In ActiveSheet.Pictures
        Pic.Delete
    Next Pic
    
    '忽略出现的错误,继续执行后面的代码,假如这个图片不存在或者有所损坏,会继续执行下个图片的插入
    On Error Resume Next

    ' 设置你的图片文件夹路径(两种获取文件路径的方法)
    'PicPath = "C:\Users\HUAWEI\Pictures\Screenshots\"
    
    '上面的是直接写出文件路径,下面的是动态的选择选择路径
    'set folder创建并设置一个文件夹选择对话框
    Set folder = Application.FileDialog(msoFileDialogFolderPicker)
    '这里等于-1是用户选择并点击"确定"了文件夹,如果用户点击取消没有选择文件夹,就会返回0
    If folder.Show = -1 Then
        'folder.SelectedItems(1)返回了文件夹的路径,只不过最后没有\。PicPath是图片路径,最后加上\
        PicPath = folder.SelectedItems(1) & "\"
    Else
        MsgBox "未选择文件夹,程序结束"
        Exit Sub
    End If
    

    ' 初始化行号
    RowNum = 1

    ' 获取文件夹中的第一个文件名
    PicName = Dir(PicPath & "*.*")

    ' 遍历所有图片文件
    Do While PicName <> ""
        ' 去掉文件扩展名
        Name = Left(PicName, InStrRev(PicName, ".") - 1)
        ' 将文件名插入到 A 列
        Cells(RowNum, 1).value = Name

        ' 拼接完整路径
        PicFullPath = PicPath & PicName

        ' 在 A 列单元格添加批注
        Set Comment = Cells(RowNum, 1).AddComment
        Comment.Text Text:=" "  ' 必须有一些文本

        ' 插入图片到批注中
        With Comment.Shape
            .Fill.UserPicture PicFullPath  ' 设置图片作为批注的背景
            .Width = 50  ' 设置图片宽度
            .Height = 50 ' 设置图片高度
        End With

        ' 设置行高(可以根据需要调整)
        Rows(RowNum).RowHeight = 50

        ' 移动到下一行
        RowNum = RowNum + 1

        ' 获取下一个文件名
        PicName = Dir
    Loop
End Sub

实现删除批注:

相关推荐
科技新资讯1 天前
AI如何批量处理Excel文件? 从数据合并、清洗到自动生成报表,看看 AI Agent 怎么完成任务
大数据·人工智能·excel
用户0332126663671 天前
使用 Python 在 Excel 中添加与删除筛选器
python·excel
xurime2 天前
Excelize 开源基础库发布 2.11.1 版本更新
数据分析·excel·开源软件·excelize·gitcode
梦想出海-Phoebe2 天前
Gemini新增文件编辑功能:PDF、Word、Excel处理体验分享
pdf·word·excel
Data-Miner3 天前
AI和Excel怎么结合才能真提效
人工智能·excel
taller_20003 天前
【012】数据类型入门: Excel 数据到 Python 值的转换
python·excel·pie·py
彦6 天前
Excel实用技巧笔记
excel
Logic1016 天前
Excel流程控制if函数,IF+数组轻松解决复杂判断问题
excel·流程控制·条件判断·if·excel函数·if函数·数组公式
跨境猫小妹6 天前
跨境电商订单导出CSV用Excel打开后订单号变成科学计数法如何定位并修复
excel·跨境电商·营销策略
weixin_440401697 天前
大数据技术-数据分析(EXcel+Python数据处理+SQL)
大数据·python·数据分析·excel