[英]Workbook_Open event to set value of all buttons in workbook to false
I have a workbook with multiple sheets with command and toggle buttons.我有一个包含多张带有命令和切换按钮的工作簿。 I am trying to create Workbook_Open event that will set value of all buttons to false.
我正在尝试创建将所有按钮的值设置为 false 的 Workbook_Open 事件。 Code below returns error:
"Compile error: Method or data member not found"
and highlights Private Sub Workbook_Open()
line, so I don't know where to look for error.下面的代码返回错误:
"Compile error: Method or data member not found"
并突出显示Private Sub Workbook_Open()
行,所以我不知道在哪里查找错误。 How to fix it or achieve it other way?如何修复它或以其他方式实现它?
Private Sub Workbook_Open()
Dim OleObj As OLEObject
For Each OleObj In Sheets.OLEObjects
If TypeName(OleObj.Object) = "ToggleButton" Or TypeName(OleObj.Object) = "CommandButton" Then
OleObj.Object.Value = False
End If
Next OleObj
End Sub
You need to loop through each sheet in turn, and you don't need to process commandbuttons - for example:您需要依次遍历每个工作表,并且不需要处理命令按钮 - 例如:
Private Sub Workbook_Open()
Dim ws as worksheet
For each ws in activeworkbook.worksheets
Dim OleObj As OLEObject
For Each OleObj In ws.OLEObjects
If TypeName(OleObj.Object) = "ToggleButton" Then
OleObj.Object.Value = False
End If
Next OleObj
Next ws
End Sub
Give this a go:给这个 go:
Private Sub Workbook_Open()
Dim OleObj As OLEObject
For Each OleObj In Sheets.OLEObjects
If OleObj.Name = "ToggleButton" Or OleObj.Name = "CommandButton" Then
OleObj.Object.Value = False
End If
Next OleObj
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.