ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1027|回复: 1

下面这段代码怎么改成用.shapes.addpicture方式,谢谢

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-9-28 13:22 | 显示全部楼层 |阅读模式
Dim Rng As Range
Sub 插入图片()
     Set Rng = Selection
     FileName = Dir(ActiveWorkbook.Path & "\pic\")
     Do While FileName <> ""
         If IsPic(FileName) Then InsertPic (FileName)
         FileName = Dir
     Loop
     Range("B2").Select
End Sub
Function IsPic(FileName)
     If InStr("ai,bmp,bmz,cdr,cgm,dib,dwg,dxf,emf,emz,eps,exf,exif,fpx,gfa,gif,hdr,ico,jfif,jpe,jpeg,jpg,pcd,pct,pcx,pcz,pict,png,psd,raw,rle,svg,tga,tif,tiff,ufo,wmf,wmz", LCase(Right(FileName, Len(FileName) - InStrRev(FileName, ".")))) = 0 Then IsPic = False Else IsPic = True
End Function
Sub InsertPic(FileName)
     PicName = Left(FileName, InStrRev(FileName, ".") - 1)
     Rng.Select
     On Error Resume Next
     Selection.Find(What:=PicName, After:=ActiveCell, MatchCase:=True).Activate
     
     If Err.Number <> 0 Then
         Err.Clear
     Else
         CT = ActiveCell.Top
         CL = ActiveCell.Left
         CH = ActiveCell.Height
         CW = ActiveCell.Width
        
         ActiveSheet.Pictures.Insert(ActiveWorkbook.Path & "\pic\" & FileName).Select
         With Selection
             .Placement = xlMoveAndSize '设置图片格式为跟随单元格大小变化。
            .ShapeRange.LockAspectRatio = msoFalse '设置图片格式为高宽不按比例变化。
            .Top = CT
             .Left = CL
             .Height = CH
             .Width = CW
         End With
     End If
End Sub


TA的精华主题

TA的得分主题

 楼主| 发表于 2017-10-30 16:08 | 显示全部楼层
有高手在吗
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-29 23:11 , Processed in 0.028113 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表