zoukankan      html  css  js  c++  java
  • vba 图片

    Function zoom(ByVal shape As ShapeRange, ByVal img As image, ByVal rng As Range)
    Dim orgWidth As Double
    Dim orgHeight As Double
    Dim retHeight As Double
    Dim retWidth As Double
    Dim toWidth, toHeight As Double
          orgWidth = img.Picture.Width
          orgHeight = img.Picture.Height
          toWidth = rng.MergeArea.Width - 4
          toHeight = rng.MergeArea.Height - 4
          If toWidth > toHeight Then
                If orgHeight > orgWidth Then
                      retHeight = toHeight
                      retWidth = orgWidth / orgHeight * toHeight
                End If
                If orgHeight < orgWidth Then
                    If orgHeight / orgWidth * toWidth > toHeight Then
                          retHeight = toHeight
                          retWidth = orgWidth / orgHeight * toHeight
                    Else
                          retWidth = toWidth
                          retHeight = orgHeight / orgWidth * toWidth
                    End If
                End If
                If orgHeight = orgWidth Then
                      retHeight = toHeight
                      retWidth = orgWidth / orgHeight * toHeight
                End If
          End If
          If toWidth < toHeight Then
                If orgHeight > orgWidth Then
                      If orgWidth / orgHeight * toHeight > toWidth Then
                            retWidth = toWidth
                            retHeight = orgHeight / orgWidth * toWidth
                      Else
                            retHeight = toHeight
                            retWidth = orgWidth / orgHeight * toHeight
                      End If
                End If
                If orgHeight < orgWidth Then
                          retWidth = toWidth
                          retHeight = orgHeight / orgWidth * toWidth
                End If
                If orgHeight = orgWidth Then
                          retWidth = toWidth
                          retHeight = orgHeight / orgWidth * toWidth
                End If
          End If
        If toWidth = toHeight Then
                If orgHeight > orgWidth Then
                      retHeight = toHeight
                      retWidth = orgWidth / orgHeight * toHeight
                End If
                If orgHeight < orgWidth Then
                      retWidth = toWidth
                      retHeight = orgHeight / orgWidth * toWidth
                End If
                If orgHeight = orgWidth Then
                      retHeight = toHeight
                      retWidth = toWidth
                End If
        End If
        shape.LockAspectRatio = msoFalse
        shape.Width = retWidth
        shape.Height = retHeight
        shape.Rotation = 0#
        shape.Top = rng.MergeArea.Top + rng.MergeArea.Height / 2 - retHeight / 2
        shape.Left = rng.MergeArea.Left + rng.MergeArea.Width / 2 - retWidth / 2
    End Function
  • 相关阅读:
    Azure HDInsight 现已在中国正式发布
    避免由于Windows Update自动安装安全补丁导致VM意外重启
    如何修复在Microsoft Azure中“虚拟机防火墙打开,关闭RDP的连接端口”问题
    关于Azure Auto Scale的高级属性配置
    在Azure中使用Load Runner测试TCP最大并发连接数
    Windows Azure案例分析: 选择虚拟机或云服务?
    Windows Server基础架构云参考架构:硬件之上的设计
    浅析基于微软SQL Server 2012 Parallel Data Warehouse的大数据解决方案
    在Windows Azure公有云环境部署企业应用
    如何在后台运行_Linux_命令并且将进程脱离终端
  • 原文地址:https://www.cnblogs.com/perock/p/2618421.html
Copyright © 2011-2022 走看看