ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

请大神看看批量插图的代码!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-4-17 14:56 | 显示全部楼层 |阅读模式
   这是我弄的批量插图的代码,之前03版本可以用图也是可以插进去的,但是后来用料10之后发现插进去的都是连接(我把存图的文件文件移到其他位置后就无法显示),请大神帮忙看看问题在哪里?

Sub insert_picture()
ER = [b65536].End(xlUp).Row
Dim i
i = 0
Application.Calculation = xlCalculationManual
    On Error Resume Next
    Dim stMedd As String

  Do
   stMedd = "Folder"
    Set obMapp = CreateObject("Shell.Application").BrowseForFolder(0, stMedd, &H1)
    If Not obMapp Is Nothing Then
       Directory = obMapp.self.Path & "\"
       Response1 = MsgBox("Are you fully confident this path: " & Directory, vbYesNo, "Message_lilium_li:")
       If Response1 = vbYes Then Exit Do
       Else: End
    End If
  Loop
    Load frmMain
    frmMain.Show
Application.Calculation = xlCalculationAutomatic
Set FS = CreateObject("Scripting.FileSystemObject")
      Set F = FS.GetFolder(Directory)
      Set FC = F.Files
        For Each f1 In F.Files
           Fig = Left(f1.Name, Len(f1.Name) - 4)
              For Each C In Range("B29:J" & ER)
                 If C = "insert wavefom here" And C.Offset(-2, 0) = Fig Then
                      C.Select
                      Filpath = Directory & C.Offset(-2, 0).Text & ".jpg"
                      Inserpic (Filpath)
                      i = i + 1
                 ElseIf C = "insert wavefom here" And C.Offset(-3, 0) = Fig Then
                       C.Select
                       Filpath = Directory & C.Offset(-3, 0).Text & ".jpg"
                       Inserpic (Filpath)
                       i = i + 1
                Else
                End If
              Next C
       Next
MSG = "To accomplish,&the sum of the pictures have been inserted is " & i
a = MsgBox(MSG, vbInformation, "Message_lilium_li:")
End Sub

Sub Inserpic(g)
  Taddress = Selection.Address
      ActiveSheet.Pictures.Insert(g).Select
      Selection.ShapeRange.LockAspectRatio = msoFalse
      Selection.Top = Range(Taddress).Top
      Selection.Left = Range(Taddress).Left
      Selection.Width = Range(Taddress).Width
            Selection.Height = Range(Taddress).Height
End Sub

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-26 18:46 , Processed in 0.030022 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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