根据 MSDN 1 英寸 = 72 分。
根据 MSDN selection.tables(1).TopPadding 返回/接受点
MS Word 仅允许用户以英寸为单位手动输入表格边距(不使用单元格边距)。
问题是当用户输入 0.02 英寸时,vba 将其转换为 1.45 点,而它显然应该是 1.44。当我输入 0.01 英寸时,vba 应该返回 0.72 时返回 0.7。
当我试图将返回类型强制为 double 以获得更高的精度时,0.01 英寸以 0.699 等返回,而不是 0.72,就像它假设的那样。
重点是,我需要 vba 能够读取用户输入的值或从点转换为用户输入的值;但是,它不能。(点到英寸也不能正确工作,因为返回的点值不准确)。
我希望该网站上的一位 VBA 专家可以提供一些关于导致此问题的原因的输入,或者提供一种强制 .toppadding 返回准确数字的方法
Dim test As Double
test = Selection.Tables(1).TopPadding
MsgBox test
我相信问题在于 .TopPadding 将值作为单数返回,这会导致数据不那么准确。
编辑:如果你做的高于 100/英寸,数学就有效