zoukankan      html  css  js  c++  java
  • Excel 插入图片

    需求: 
        在Excel中插入图片,文件名在某一行或列,将对应目录下的图片文件插入至下一行。

    代码: 建立一个宏,将代码复制到宏里,将原来的方法全部覆盖掉
     
    Sub 清空图片()
        '删除当前sheet上所有的图片文件
        For Each Shape In ActiveSheet.Shapes
            Shape.Delete
            
        Next
    End Sub
     
    Sub 插入图片()
    FilePath = "C:UsersAdministratorPictures" '图片文件路径
    Fill = 0 '插入方式:1:按列插入图片(横向) , 0 按行插入图片(纵向)
    Row = 3 '款号所在的行数
    col = 2 '款号所在的列数
    Location = 1      ' 1: 在右边或下面  ,  -1 : 在左边或上面
     
    Do
        '根据第一行的图片文件名,将图片插入在第二行内,并调整图片的高与宽
        With Cells(Row + IIf(Fill = 1, Location, 0), col + IIf(Fill = 0, Location, 0))
            .Select
            L = .Left
            T = .Top
            W = .Width
            H = .Height
     
            Filename = Cells(Row, col).Text & ".jpg"   '生成文件名
            If Filename = ".jpg" Then  '如果1行为空,表示结束
                Exit Do
            End If
                   
            If Dir(FilePath & Filename) <> "" Then '检查文件存在
                '插入图片
                ActiveSheet.Shapes.AddShape(1, L, T, W, H).Fill.UserPicture (FilePath & Filename)
            End If
        End With
        
        If Fill = 1 Then
            col = col + 1
        Else
            Row = Row + 1
        End If
    Loop
        
    Cells(1, 1).Select '回到A1单元格
    End Sub

     

    ' Mark:
    '旧方法,仅插入链接
    '            ActiveSheet.Pictures.Insert(FilePath & Filename).S elect '插入图片
    '           Selection.ShapeRange.LockAspectRatio = 0 '取消纵横比
    '            Selection.ShapeRange.Width =  W  '设置宽度
    '            Selection.ShapeRange.Height = H '设置高度
  • 相关阅读:
    ASP.NET网页动态添加数据行
    动态生成自定义控件ascx如何给ascx传值
    读取txt文件将文本行组合成特定格式
    怎样对文本文件内的文本行排序
    动态变更Repeater控件HeaderTemplate列名
    减少代码冗余,封装你的程序
    在Repeater控件的OnItemDataBound获取数据源记录总数
    查看服务器系统资源(cpu,内容)利用率前几位的进程的方法
    Nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录
    gerrit代码简单备份方案分享
  • 原文地址:https://www.cnblogs.com/jerron/p/5833502.html
Copyright © 2011-2022 走看看