新足迹

 找回密码
 注册

精华好帖回顾

· 一个不靠谱青年的欧洲60天(攻略坑已填!收工了) (2012-11-2) JPX · DIY - 更换福特Fiesta 3门的前座扳动把手以及接线(已更新图... (2013-5-1) universelu
· 2014”饱倒“之旅正在进行时,更新完毕,第五天,中正纪念馆,西门红楼 (2014-9-14) ylbeethoven · 求分贴——大型工程35米GARGEN EDGE DIY 换装记 (2013-5-5) LIQ8309
Advertisement
Advertisement
查看: 1568|回复: 8

[学习培训] EXCEL,批量导入图片 [复制链接]

发表于 2010-3-30 15:31 |显示全部楼层
此文章由 pixie929 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 pixie929 所有!转贴必须注明作者、出处和本声明,并保持内容完整
需要在EXCEL里根据产品代码插入相应的图片。。有很多很多很多很多很多很多。。。
有没有办法让EXCEL根据产品代码自己导入图片到相应的CELL里?

在网上找到个插件。。可惜是中文的。。公司电脑英文的。。不能用。。。

然后看见一堆超长的命令。。。COPY到CELL里。。。没反应。。。

求高人指点!~~~~
Advertisement
Advertisement

发表于 2010-3-30 15:31 |显示全部楼层
此文章由 pixie929 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 pixie929 所有!转贴必须注明作者、出处和本声明,并保持内容完整
补充。。。分分伺候高人。。。。

发表于 2010-3-30 17:01 |显示全部楼层
此文章由 napolian 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 napolian 所有!转贴必须注明作者、出处和本声明,并保持内容完整
you want to insert a pic into a cell??

退役斑竹

发表于 2010-3-30 17:22 |显示全部楼层
此文章由 大饼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 大饼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果知道哪个照片要放到哪个cell,可以用Marcro搞定。举个例子
Range("A1").Select
ActiveSheet.Pictures.Insert("D:\Photos\DSCFxxxx.JPG").Select
没有确定的对应关系,就麻烦了

评分

参与人数 1积分 +1 收起 理由
pixie929 + 1 谢谢啊。我明天会公司试试

查看全部评分

发表于 2010-3-30 17:24 |显示全部楼层
此文章由 eurekana 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 eurekana 所有!转贴必须注明作者、出处和本声明,并保持内容完整
不太清楚你的具体要求是什么样的。比如产品代码怎么和图片(名称)联系起来;比如怎么读到所有产品代码;
图片的插入格式(比如一行插入几张?每张大小?单元格和产品的对应关系?)
写了一个最简单的例子:在名为"Pic"的Sheet的“A1”单元格插入一个Example.jpg的图片,大小和"A1"单元格一致。运行这段程序时Example.jpg和Excel文件要在同一个目录下。不知道是否对你有用。
你可以读取所有产品代码,根据对应关系得到每个代码的图片名称(路径),然后插入到你希望插入的单元格中。

' define the sheet
Dim sheetPic As Worksheet
Set sheetPic = Worksheets("Pic")

' define the picture file path
dim strFile as String
strFile = ActiveWorkbook.Path & "\" & "Example.jpg"

'insert picture
Dim oPic As Object  
Set oPic = sheetPic.Pictures.Insert(strFile)
With sheetPic.Cells(1, 1)
     oPic.Top = .Top
     oPic.Left = .Left
     oPic.Width = .ColumnWidth
     oPic.Height = .RowHeight
End With
Set oPic = Nothing

评分

参与人数 2积分 +3 收起 理由
sera_aus + 2 先收藏,留着以后用
pixie929 + 1 问题。请看回复

查看全部评分

发表于 2010-3-30 20:34 |显示全部楼层
此文章由 pixie929 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 pixie929 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 eurekana 于 2010-3-30 17:24 发表
不太清楚你的具体要求是什么样的。比如产品代码怎么和图片(名称)联系起来;比如怎么读到所有产品代码;
图片的插入格式(比如一行插入几张?每张大小?单元格和产品的对应关系?)
写了一个最简单的例子:在名为 ...


请问这段命令我是直接加一个‘=’然后就PASTE在CELL里嘛?汗。。 这个我不太懂。。。。
我的情况是。。设。。
A1 到A100。。全部是PRODUCT CODE。
B1 到B100。。需要相应的图片
所有图片都以PRODUCT CODE保存在同一个文件夹里。。

要如何让B1 到B100一次性输入图片到相应的CELL里。。如果可能是否可以自动修改图片到要求的尺寸?

不知道我表达的清楚不。。
Advertisement
Advertisement

发表于 2010-3-31 08:56 |显示全部楼层
此文章由 pixie929 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 pixie929 所有!转贴必须注明作者、出处和本声明,并保持内容完整
今天到公司狗了一下LS两位高人的提议。。汗自己一下。。原来要会VBA啊。。。。 。。先看下教程怎么弄VBA。。。

发表于 2010-3-31 09:08 |显示全部楼层
此文章由 pixie929 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 pixie929 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 大饼 于 2010-3-30 17:22 发表
如果知道哪个照片要放到哪个cell,可以用Marcro搞定。举个例子
Range("A1").Select
ActiveSheet.Pictures.Insert("D:\Photos\DSCFxxxx.JPG").Select
没有确定的对应关系,就麻烦了


不懂。 。。没找到MARCRO里你说的东西

发表于 2010-3-31 10:59 |显示全部楼层

回复 6# 的帖子

此文章由 eurekana 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 eurekana 所有!转贴必须注明作者、出处和本声明,并保持内容完整
根据您的描述,做了个小sample,不过我的用户组发不上来,就把程序拷贝给您吧。随便搞个button来调用这段程序。同时要有一个叫“Pics”的Sheet作为结果的sheet.这个sheet的A列先写好所有的Code,然后执行这段程序,B列就插入所有的图片,图片名字是,例如,A1为“Sample”,则B1插入Sample.jpg;
图片大小和B列单元格大小一致

Sub InertPic_Click()
    ' define the sheet
    Dim sheetPic As Worksheet
    Set sheetPic = Worksheets("Pics")
   
    ' define the picture file path
    Dim strFile As String
    Dim nCnt As Integer
    Dim i As Integer
   
    sheetPic.Pictures.Delete
   
    nCnt = sheetPic.UsedRange.Rows.Count
    For i = 1 To nCnt
        If sheetPic.Cells(i, 1) = vbNullString Then
            Exit For
        End If
        'insert picture
        strFile = ActiveWorkbook.Path & "\" & sheetPic.Cells(i, 1) & ".jpg"
        Dim oPic As Picture
        Set oPic = sheetPic.Pictures.Insert(strFile)
        oPic.ShapeRange.LockAspectRatio = msoFalse
        With sheetPic.Cells(i, 2)
            oPic.Top = .Top
            oPic.Left = .Left
            oPic.Width = .Width
            oPic.Height = .Height
        End With
        Set oPic = Nothing
    Next i
   
    sheetPic.Activate
   
End Sub

评分

参与人数 2积分 +8 收起 理由
likespring + 5 偶对你的景仰如滔滔江水
pixie929 + 3 谢谢你。太感谢了

查看全部评分

发表回复

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

本版积分规则

Advertisement
Advertisement
返回顶部