Excel:在不同计算机上打开同一文件时,VBA 报告不同的形状宽度

Excel:在不同计算机上打开同一文件时,VBA 报告不同的形状宽度

我很困惑为什么。两台电脑都运行 Win7 pro 64 位,以及相同版本的 Excel(版本 1708,内部版本 8431.2236)。电子表格中插入了 8 张图片。这是我用来报告图像宽度的:

    For Each p In ActiveSheet.Shapes
        MsgBox ("TL row: " & p.TopLeftCell.Row & ", TL column: " & p.TopLeftCell.Column & " ,image width: " & p.Width)

以下是我在两台计算机上得到的结果:

    computer 1                        computer 2
    14, 1, 72                         14, 1, 73.2
    157, 4, 379.5                     157, 4, 386.4
    182, 4, 379.5                     182, 4, 386.4
    208, 4, 379.5                     208, 4, 386.4
    234, 4, 379.5                     234, 4, 386.4
    260, 4, 379.5                     260, 4, 386.4
    286, 4, 379.5                     286, 4, 386.4
    418, 5, 198                       418, 5, 201.6

我知道对于我这个模糊的问题可能没有“答案”。但是任何线索/想法都会很感激!

答案1

A观点是一种抽象的测量方法,试图以更真实的度量来规范像素和缩放。 (请参阅下面的更新 1)

A像素是屏幕上具有确定且真实的尺寸和形状的物理构造。

扩展是一种使应用程序适合于原生分辨率 LCD 上可用尺寸的方法。

您遇到的问题是,Excel 可能使用点来确定给定对象的大小,并且在具有不同分辨率和不同缩放设置的不同显示器上,点的大小可能会有所不同,因此图表或对象的布局也会波动。

有多种方法可以使用经验方法来定义 Excel 中元素的大小,但这些方法可能只是扭转问题,而不是解决问题。

更新 1:我可能对点的概念有误。Excel 似乎使用“PostScript”点,这是 1/72 英寸的经验测量值。点在其他屏幕设计系统中的使用方式与我上面描述的一样。但根本问题实际上是相同的:Excel 试图在不同的屏幕、分辨率和缩放比例下尽最大努力使一切正常工作。

更多阅读:
https://forums.techguy.org/threads/units-used-in-excel.178564/
如何在 Excel 中使单元格变成完美正方形?
http://dailydoseofexcel.com/archives/2004/06/01/column-widths-in-points/

相关内容