2010-03-19 33 views
1

我正在使用此代碼來檢查編輯模式下是否停用標準工具欄。使用Excel VBA通​​過檢查標準工具欄捕獲編輯模式

的CommandBarControl oNewMenu = Application.CommandBars( 「工作表菜單欄」)。的FindControl(1,18,1,TRUE,TRUE)

If (IsNull(oNewMenu)) Then 

     MsgBox "Edit mode enabled" 

End If 

但功能的FindControl引發錯誤。參數中是否有任何衝突?

回答

0

我很困惑,因爲第一條語句永遠不會編譯。 此外,當評估對象的存在時,應該使用'Is Nothing' 而不是'IsNull'。在下面的行究竟oControl.Enable mean.Shoudn't標籤「啓用」和「禁用」互換


Const CTRL_NEW = 2520 

Dim oControl As CommandBarControl 

Set oControl = CommandBars("Standard").FindControl(Id:=CTRL_NEW) 

If Not oControl Is Nothing Then ' Control New is present in Standard bar' 
    MsgBox "Edit mode " & IIf(oControl.Enabled, "enabled", "disabled"), vbInformation 
End If 
+0

: 反正試試這個。 MsgBox「編輯模式」&IIf(oControl.Enabled,「enabled」,「disabled」),vbInformation。 謝謝... – Srimal