vb 怎么调取excel里面的图片?

在excel表中,每一个人名对应一个照片头像,我想用vb查询,用姓名查询,然后出来相对应人的图片头像,求高手指点代码如何写?谢谢... 在excel表中,每一个人名对应一个照片头像,我想用vb查询,用姓名查询,然后出来相对应人的图片头像,求高手指点代码如何写?谢谢 展开
 我来答
mizuda_compute
推荐于2016-07-11 · TA获得超过416个赞
知道小有建树答主
回答量:138
采纳率:100%
帮助的人:132万
展开全部

     首先新建一个EXCEL文件data.XLS,c列中文件名为对应行图片的文件名。其excel文档内容如下图形式:

 

然后在vb中新建一个Text1文本框,1个按钮,一个图片框Image1,如下图界面:

 

点击查询按钮,写入如下代码:

 

Private Sub Command1_Click()

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

    Dim sql$
 
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset

    cn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & App.Path & "\data.xls"      'ThisWorkbook.FullName      'ThisWorkbook.Path & "\" & ThisWorkbook.Name
    sql = "select * from [Sheet1$A2:C100] where 姓名 like  '" & Text1.Text & "'"
    rs.Open sql, cn, 1, 1    
    If rs.RecordCount > 0 Then
   
       rs.MoveFirst
       
         Image1.Picture = LoadPicture(App.Path & "\pic\" & rs.Fields("文件名"))
            
    End If
       rs.Close
    cn.Close

    Set cn = Nothing
   
End Sub

 

具体文件目录结构如下见图:

 

     由于水平有限,上述代码基本能实现你查询功能,但细节有待优化。

追问
你好,谢谢你的回答。
请问能不能直接在excel里面将图片取出来呢,而不是通过pic文件夹去copy,谢谢
追答
excel 文档中如果放置过多图片,excel文件会很大的,如果要取出图片,可以通过Excel另存为“web网页”形式文件,就会在另存目录中出现一个pagefile文件夹(就像打开一个网页另存时一样),所有的图片都在这个文件夹中呢!不过把图片文件放置在硬盘上文件夹里,通过路径显示在excel中比较方便点。
tlxwd
2013-08-25 · TA获得超过1148个赞
知道大有可为答主
回答量:1592
采纳率:66%
帮助的人:704万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式