[英]Debug.Print shows me a value, but 'If not' wouldn't work with this value
我完全困惑。 找不到解決方案。 我要求形狀的價值:
? 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沒有值,但與此同時,它為我提供了值。
那將意味着價值不是價值。 有經驗的家伙對此有背景信息嗎?
可能是四舍五入,因此您可以在立即窗口中進行測試:
首先分配值:
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
我不知道您是否能夠測試字符串值,但是這種比較會起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.