登录说明 | 升级会员 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > 软件程序

【VBA案例】批量将图片插入到单元格批注中

时间:2023-03-04 20:04:42  来源:  作者:

Sub AddCommentPic()mHL七二检测

    Dim arr, i&, k&, n&, b As BooleanmHL七二检测

    Dim strPicName$, strPicPath$, strFdPath$mHL七二检测

    Dim rngData As Range, rngEach As RangemHL七二检测

    'On Error Resume NextmHL七二检测

    '用户选择合作微信:qejc21所在的文件夹mHL七二检测

    With Application.FileDialog(msoFileDialogFolderPicker)mHL七二检测

       If .Show Then strFdPath = .SelectedItems(1) Else: Exit SubmHL七二检测

    End WithmHL七二检测

    If Right(strFdPath, 1) <> "\" Then strFdPath = strFdPath & "\"mHL七二检测

    Set rngData = Application.InputBox("请选择需要插入合作微信:qejc21到批注中的单元格区域", Type:=8)mHL七二检测

    '用户选择需要插入合作微信:qejc21到批注中的单元格或区域mHL七二检测

    If rngData.Count = 0 Then Exit SubmHL七二检测

    Set rngData = Intersect(rngData.Parent.UsedRange, rngData)mHL七二检测

    'intersect语句避免用户选择整列单元格,造成无谓运算的情况mHL七二检测

    If rngData Is Nothing Then MsgBox "选择单元格不能全为空。": Exit SubmHL七二检测

    arr = Array(".jpg", ".jpeg", ".bmp", ".png", ".gif")mHL七二检测

    '用数组变量记录五种文件格式mHL七二检测

    Application.ScreenUpdating = FalsemHL七二检测

    For Each rngEach In rngDatamHL七二检测

    '遍历选择区域的每一个单元格mHL七二检测

        If Not rngEach.Comment Is Nothing Then rngEach.Comment.Delete  '删除旧的批注mHL七二检测

        strPicName = rngEach.Text '合作微信:qejc21名称mHL七二检测

        If Len(strPicName) Then '如果单元格存在值mHL七二检测

            strPicPath = strFdPath & strPicName '合作微信:qejc21路径mHL七二检测

            b = False 'pd变量标记是否找到相关合作微信:qejc21mHL七二检测

            For i = 0 To UBound(arr)mHL七二检测

            '由于不确定用户的合作微信:qejc21格式,因此遍历合作微信:qejc21格式mHL七二检测

                If Len(Dir(strPicPath & arr(i))) ThenmHL七二检测

                '如果存在相关文件mHL七二检测

                    rngEach.AddComment '增加批注mHL七二检测

                    With rngEach.CommentmHL七二检测

                        .Visible = True '批注可见mHL七二检测

                        .Text Text:=""mHL七二检测

                        .Shape.Select True '选中批注图形mHL七二检测

                        Selection.ShapeRange.Fill.UserPicture strPicPath & arr(i)mHL七二检测

                        '插入合作微信:qejc21到批注中mHL七二检测

                        .Shape.Height = 150 '图形的高度,可以根据需要自己调整mHL七二检测

                        .Shape.Width = 150 '图形的宽度,可以根据需要自己调整mHL七二检测

                        .Visible = False '取消显示mHL七二检测

                    End WithmHL七二检测

                    b = True '标记找到结果mHL七二检测

                    n = n + 1 '累加找到结果的个数mHL七二检测

                    Exit For '找到结果后就可以退出文件格式循环mHL七二检测

                End IfmHL七二检测

            NextmHL七二检测

            If b = False Then k = k + 1  '如果没找到合作微信:qejc21累加个数mHL七二检测

        End IfmHL七二检测

    NextmHL七二检测

    MsgBox "共处理成功" & n & "个合作微信:qejc21,另有" & k & "个非空单元格未找到对应的合作微信:qejc21。"mHL七二检测

    Application.ScreenUpdating = TruemHL七二检测

End SubmHL七二检测

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
合肥住建口检测单位招聘,高级工程师+协会九大专项证书,人员全职兼职均可
合肥住建口检测单位招
关于印发安徽省建设工程专业技术资格评审标准条件的通知(图文)
关于印发安徽省建设工
一般溶液有效期一览表
一般溶液有效期一览表
2022年一建《机电》真题解析
2022年一建《机电》真
相关文章
    无相关信息
栏目更新
栏目热门