簡體   English   中英

Debug.Print向我顯示一個值,但是“如果不是”將無法使用該值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM