作者cctu (CC)
看板Office
标题Re: [算表] VBA可以抓到图档的像素值吗?
时间Wed Apr 20 10:56:29 2022
旧文重问
问题同以下原PO
有人知道当年的推文解法是什麽吗?
※ 引述《foolkids (翼をください)》之铭言:
软体:Office Excel
版本:2010
网路上看到这篇:
http://goo.gl/iDNQPA (注解内插入图片)
功能实现的方式是将注解的背景填满效果改成图片,
这样滑鼠移过去显示注解时就会显示背景图片,相当方便的应用。
但是有个问题是:
注解的框架大小会影响图片的显示,两种状况为──
1. 锁定图片比率:图片会依据框架大小自动调整,但长宽比例会跑掉
2. 不锁定图片比率:图片会依据框架大小,自动取长或宽来显示,但
框架比例跟图片比例不符时,图片会少一点(长或宽)
另有个选项"
旋转填满图案效果",这个选项看不出功用,有前辈知道吗?
理想上是希望可以在VBA批次将背景填满的时候顺便依据图片的像素比例
去调整注解的框架比例,但是苦查不到这样的指令,
不晓得有前辈知道
如何使用VBA得知图片的像素比例 吗?
--
┌─────────────────────────────┐
│
就这样,终於到了启程的日子。 │
│
和来机场送行的朋友们说着玩笑话,其实内心恍恍惚惚像在作梦。│
│
也似乎是因为,为了走到「出发」这一步,耗尽了全部心力。 │
└─────────────────
石田裕辅《不去会死!》─┘
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.249.149.121
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Office/M.1409283920.A.343.html
1F:→ soyoso: CreateObject("Shell.Application").Namespace(路径). 08/29 16:28
2F:→ soyoso: .Parsename(档名).ExtendedProperty("Dimensions") 08/29 16:28
3F:→ foolkids: 谢谢苏大! 我去研究看看 08/29 22:44
实作之後发现:我必须先设定一个物件变数才可以取得尺寸,所以会变成
Set obj = CreateObject("Shell.Application")
D = obj.Namespace("路径").ParseName("档名").ExtendedProperty("Dimensions")
MsgBox D 会得到
?720 x 480?
如果直接写在同一行会跳错误,不知道是否是我操作有误?
※ 编辑: foolkids (114.39.139.88), 08/29/2014 23:00:18
奇怪! 结果又可以了!! 我刚刚不知道犯了什麽诡异的错误... 谢谢苏大!!
※ 编辑: foolkids (114.39.139.88), 08/29/2014 23:28:13
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 211.72.124.31 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1650423391.A.3BD.html
自己回答 已解决
Dim E As Variant
With Application.FileDialog(msoFileDialogOpen)
.Show
For Each E In .SelectedItems '路径位置
Dim w As Integer
Dim h As Integer
ActiveSheet.Pictures.insert(E).Select '插入图片选中
w = Selection.Width 'w值等於选中图片的
宽度
h = Selection.Height 'h值等於选中图片的
宽度
Selection.Delete '清除选中图片
※ 编辑: cctu (211.72.124.31 台湾), 04/20/2022 15:16:00