[英]Difference between: .Font.FontStyle = “Bold” vs .Font.Bold = msoTrue
[英]What is the difference between True and msoTrue in VBA?
我正在研究一個帶有一些隱藏/顯示形狀的 VBA 代碼的模型:
Worksheets("Sheet1").Shapes("shape1").Visible = msoTrue
以前的開發人員在整個模型中使用 msoTrue,而不是我在此類應用程序中通常使用的 True。
我試圖了解 True 和 msoTrue 之間的區別,並想知道我是否應該使用其中一個。 我知道兩者都等於-1。
msoTrue
是一個計算結果為 -1 的常數。 在 VBA 中,它將是Long
類型。
True
是Boolean
類型。 當轉換為Long
時,它的計算結果也為 -1。
嘗試這個:
Debug.Print msoTrue '---> -1
Debug.Print True '---> True
Debug.Print Clng(True) '---> -1
在條件測試中使用msoTrue
而不是True
有點奇怪,但是 -1、 msoTrue
和True
都將是一個真實的條件。
我應該補充一點, Shape
對象的Visibility
屬性不是Boolean
類型,它是枚舉msoTriState
的Long
。 如果您的問題具體且僅與Shapes
相關,那么,是的,更正確的語法是msoTrue
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.