在我一直在为其构建一些 VBA 代码的 word 文档中,我需要能够在用户窗体上显示图像,并且还需要调整用户窗体的大小以适应它所呈现的任何图像。
当我在即时框中尝试这样的事情时,我很困惑(图像文件实际上只有 675 像素宽):
? LoadPicture("C:\Users\arose\Desktop\Security Control Doc\Images\AC1.bmp").Width
17859
最终我发现这是由于 VBA 使用了像素以外的其他单位。Twips,或者类似的东西。但我真的需要以像素为单位的图像大小,所以我四处寻找,大致找到了转换因子,我正在使用这个:
Function TwipsToPixels(Twips As Long) As Long
TwipsToPixels = Twips / 25.477
End Function
这有帮助,但不是特别准确。所以我的问题是,有没有人有更优雅、更精确的方式在 VBA 中获取图像大小?