在我为其构建一些 VBA 代码的 Word 文档中,我需要能够在用户窗体上显示图像,并调整用户窗体的大小以适应它所呈现的任何图像。
当我在“立即框中”尝试类似的操作时,我感到非常困惑(图像文件的宽度实际上只有 675 像素):
? LoadPicture("C:\Users\arose\Desktop\Security Control Doc\Images\AC1.bmp").Width
17859
最终我发现这是由于VBA使用了像素以外的其他单位造成的。缇,或者类似的东西。但我确实需要以像素为单位的图像大小,所以我四处寻找,大致找到了转换因子,然后我使用了这个:
Function TwipsToPixels(Twips As Long) As Long
TwipsToPixels = Twips / 25.477
End Function
这有帮助,但不是特别准确。所以我的问题是,是否有人有更优雅、更精确的方法在 VBA 中获取图像尺寸?
最佳答案
VBA 中的默认测量单位是缇:与屏幕无关的测量单位,等于 1/20 点或 1/1,440 英寸。一厘米有 567 缇。
像素是与屏幕相关的单位,因此两个函数/属性 TwipsPerPixelX
和 TwipsPerPixelY
应该可以解决问题。
关于image - 在VBA中获取图像大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12282753/