問題: Control.Horizo??ntalAnchor 或 Control.VerticalAnchor 獲得的值超出了可接受的范圍。
在 IDE 視窗中:Debug.Print Btn.VerticalAnchor --> 結果:4864
在即時視窗中: ?Btn.VerticalAnchor --> 0
同一行。相同的代碼。
我難住了。請幫忙。
LE:顯然值在之后被扭曲了
If Btn.HorizontalAnchor = acHorizontalAnchorRight Then
uj5u.com熱心網友回復:
我在運行Microsoft Access 2013 x64 15.0.5349 (VBA 7.01) 時遇到了幾乎相同的問題。
對我來說, controlsHorizontalAnchor屬性包含預期AcHorizontalAnchor列舉 plus的值25344。
因此,如果控制元件HorizontalAnchor配置為acHorizontalAnchorLeft(0) 它包含25344.
對于acHorizontalAnchorRight(1) 它包含25345.
對于acHorizontalAnchorBoth(2) 它包含25346.
比較我的值25344和你的值,4864我可以看到它們的二進制表示都在高位元組中包含額外的設定位:
| 十進制 | 二進制 |
|---|---|
| 4864 | 1 0011 0000 0000 |
| 25344 | 110 0011 0000 0000 |
所以我使用的解決方法是忽略Horizo??ntalAnchor的高位元組:
If (xControl.HorizontalAnchor And &HFF) = _
AcHorizontalAnchor.acHorizontalAnchorLeft Then _
Debug.Print "-> Left"
If (xControl.HorizontalAnchor And &HFF) = _
AcHorizontalAnchor.acHorizontalAnchorRight Then _
Debug.Print "-> Right"
If (xControl.HorizontalAnchor And &HFF) = _
AcHorizontalAnchor.acHorizontalAnchorBoth Then _
Debug.Print "-> Both"
它應該與 類似VerticalAnchor。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/478575.html
上一篇:如何查找和重命名多個檔案
