ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: kuangben8

[求助] 【求助】在excel中点击图片放大3倍显示.

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-5-3 19:10 | 显示全部楼层
wpxxsyzx 发表于 2012-11-2 23:05
仅供参考,2007下的RangeFromPoint方法有bug,会失效

如果有办法克服2007/2010下的Bug就好了。
这个鼠标放在图片就放大的效果不错。

学习了!

.

TA的精华主题

TA的得分主题

发表于 2014-5-4 00:20 | 显示全部楼层
2010可以实现,2007有 bug

TA的精华主题

TA的得分主题

发表于 2014-6-26 20:32 | 显示全部楼层
HHAAMM 发表于 2012-11-4 17:26
附件里代码 If a.AutoShapeType = -2 Then 改成 If a.AutoShapeType = 1 Then

erro.jpg 为啥运行会有如图错误提示

TA的精华主题

TA的得分主题

发表于 2014-6-26 20:53 | 显示全部楼层
jeffreychan18 发表于 2014-6-26 20:32
为啥运行会有如图错误提示

erro.jpg 出现错误

TA的精华主题

TA的得分主题

发表于 2014-8-11 21:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
HHAAMM 发表于 2012-11-3 02:36
稍稍修改一下

  以下是HHAAMM版主的代码,为了学习、请教,妄自做了注,不太准确……
  1. Sub test()
  2. Dim a As Shape
  3. For Each a In ActiveSheet.Shapes
  4.     If a.AutoShapeType = 1 Then '1为自选图形
  5.         If a.OnAction = Empty Then a.OnAction = "test"
  6.         If a.Name = ActiveSheet.Shapes(Application.Caller).Name Then 'application.caller代表调用它的对象
  7.             If a.AlternativeText = Empty Then
  8.                 a.AlternativeText = a.Height & Chr(28) & a.Width '记录初始尺寸
  9.                 a.Height = a.Height * 3
  10.                 a.Width = a.Height * 3
  11.                 a.ZOrder msoBringToFront '应该是置于顶层
  12.                 Exit Sub
  13.             Else
  14.                 a.Height = Split(a.AlternativeText, Chr(28))(0) '分解初始尺寸为高、宽
  15.                 a.Width = Split(a.AlternativeText, Chr(28))(1)
  16.                 a.AlternativeText = Empty
  17.             End If
  18.         End If
  19.     End If
  20. Next
  21. End Sub
复制代码

点评

感谢注解!  发表于 2014-8-12 12:25

TA的精华主题

TA的得分主题

发表于 2014-8-12 00:01 | 显示全部楼层
本帖最后由 leafsea 于 2014-8-12 00:03 编辑

发现一个bug。
在excel2010下,将 If a.AutoShapeType = -2改为 If a.AutoShapeType = 1后,可以实现点击放大功能,但是鼠标指向放大还是不能实现。

而且新插入图片后有个更大的问题:
点击新图片后,原有的第一张图片会先出现在新图片位置,再点击一次才放大新图片,这就非常影响使用了。

目前,我只发现一个解决办法:添加新图片后,保存关闭excel后再打开,可以点击放大。

TA的精华主题

TA的得分主题

发表于 2014-8-12 00:06 | 显示全部楼层
wpxxsyzx 发表于 2012-11-2 23:05
仅供参考,2007下的RangeFromPoint方法有bug,会失效

wpxxsyzx 朋友的方法在win7 64位系统下失效,应该是系统API问题:
Public Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Public iTimerID As Long, timeX As Single
Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

点评

只做偶尔的简单使用,没弄这么多,所以也没有发现问题。感谢支持。  发表于 2014-8-12 12:26

TA的精华主题

TA的得分主题

发表于 2014-8-12 13:00 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-29 21:50 , Processed in 0.048203 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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