0

我完全感到困惑。找不到解决办法。我问一个形状的价值:

? ActiveWindow.Selection.ShapeRange.TextFrame.MarginBottom

回答: 11.29354

我写了一个例程:

If Not oshp.TextFrame.MarginBottom = 11.29354 Then
    TellMe = "MarginBottom =" & oshp.TextFrame.MarginBottom & " but not 11.29354" 
End If

例行公事行不通。我声称形状的 MarginBottom 没有价值,但同时它给了我价值。

那将意味着价值不是价值。有经验的人有这方面的背景资料吗?

4

1 回答 1

1

它可能是四舍五入的,您可以在即时窗口中进行测试:

首先赋值:

ActiveWindow.Selection.ShapeRange.TextFrame.MarginBottom = 11.23456789

然后检索它:

? ActiveWindow.Selection.ShapeRange.TextFrame.MarginBottom
 11.23457 

它已更改,针对新值和分配的值对其进行测试:

? ActiveWindow.Selection.ShapeRange.TextFrame.MarginBottom = 11.23456789
False
? ActiveWindow.Selection.ShapeRange.TextFrame.MarginBottom = 11.23457
False

两者都不起作用,转换为字符串并测试:

? CStr(ActiveWindow.Selection.ShapeRange.TextFrame.MarginBottom) = "11.23457"
True

我不知道您是否能够测试字符串值,但这种比较会起作用。

于 2013-09-16T02:36:48.697 回答