在VBA中获取图像大小?

时间:2012-09-05 13:36:36

标签: image vba excel-vba word-vba excel

在我为其构建一些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中的图像大小?

1 个答案:

答案 0 :(得分:7)

VBA中的默认测量单位为:与屏幕无关的测量单位,等于点的1/20或1 / 1,440英寸。一厘米有567个缇。

像素是与屏幕相关的单位,因此两个函数/属性TwipsPerPixelXTwipsPerPixelY应该可以解决问题。