Excel像素与点不成比例

时间:2018-10-30 05:31:05

标签: excel vba excel-vba

我注意到(通过更改列宽)以点为单位测量的列宽与像素大小不成比例。例如,在21.44点处,一列的像素宽度为200。但是在20个像素处,宽度为1.44点,而不是预期的2.14点。

这非常令人困惑,因为我试图在VBA中编写代码,该代码会将特定大小划分为n个大小相等的不同列。谁能解释这种异常?我该如何编写代码来划分宽度(因为列宽度的参数以磅为单位)?

谢谢

1 个答案:

答案 0 :(得分:0)

所以我只是想尝试一下,偶然发现了这一点。
也许数字偏离“真实”宽度。如果理论正确,那么必须存在这样的偏移量。
(21.44 + x)= 10(1.44 + x)
x = 0.7822
现在,让我们看一下该偏移量是否适用于其他一些其他长度。对于80像素,MS Excel提到的长度为8.11点。因此,真实长度为8.89。宽度为20个像素的列的真实长度为1.44 + 0.7822 = 2.222。请注意,大约2.222 * 4 = 8.89。这也适用于其他一些数字,因此我认为该理论应该是正确的。

因此,要回答该问题,请将偏移量0.7822添加到需要划分的观察列宽。然后将其除以“ n”。减去偏移量以获得长度“ x”。然后对n列中的每一个使用Columns(var).ColumnWidth = x命令