设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3245|回复: 3
打印 上一主题 下一主题

一次全部导入圖片自動根據單元格高度

[复制链接]
跳转到指定楼层
1#
发表于 2011-6-3 19:20:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.在A2至A40輸入圖片名稱
2.圖片放在圖片文件夾內
3.一次全部导入
4.圖片自動根據單元格高度
Sub 图片导入()
    '将图片导入。
    '图片按照原比例存储,按照原比例存储
    On Error Resume Next
    Dim R&
    Dim Pic As Object
    '先删除所有可能存在的图片
    For Each Pic In Sheet1.Shapes
        If Pic.Name <> Sheet1.Shapes("按钮 97").Name Then
            Pic.Delete
        End If
    Next
    For R = 2 To Range("A65536").End(xlUp).Row
        '插入图片
        Set Pic = Sheet1.Pictures.Insert(ThisWorkbook.Path & "\图片\" & Cells(R, 1) & ".jpg")
        '锁定高宽比
        Pic.ShapeRange.LockAspectRatio = True
        '看高宽比。如果图片高宽比高,那么调整到单元格高度,否则调整到单元格宽度
        '我们看到的右键格式菜单里的东西都是针对ShapeRange而言的,所以要用ShapeRange来设定
        With Pic.ShapeRange
            '如果图片高宽比比单元格大,说明图片太高,只需调整图片高度
            If .Height / .Width > Cells(R, 4).Height / Cells(R, 4).Width Then
                .Height = Cells(R, 4).Height
                '调整位置
                .Top = Cells(R, 4).Top
                .Left = Cells(R, 4).Left + (Cells(R, 4).Width - .Width) / 2
            '如果图片高宽比比单元格小,说明图片太宽,只需调整图片宽度
            Else
                .Width = Cells(R, 4).Width
                '调整位置
                .Left = Cells(R, 4).Left
                .Top = Cells(R, 4).Top + (Cells(R, 4).Height - .Height) / 2
            End If
        End With
    Next R
End Sub

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享1 分享淘帖1 订阅订阅

点击这里给我发消息

2#
发表于 2012-11-6 09:15:44 | 只看该作者
沙发..
3#
发表于 2012-11-6 09:21:54 | 只看该作者
学习

点击这里给我发消息

4#
发表于 2022-10-18 16:06:22 | 只看该作者
学习
回复

使用道具 举报

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

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 08:23 , Processed in 0.086091 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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