首页 > 解决方案 > 初始化 OLEObject 以返回默认值

问题描述

我有一个设置了 ActiveX 复选框的工作簿,该复选框对相应工作簿中的单元格返回“是”或“否”答案。单击复选框时,它们会根据需要返回“否”答案,如果再次单击以取消选中,将返回“是”。但是他们在打开工作簿时什么也没有返回,我理解这是因为他们需要_Click先发生事件。如果用户不单击它们,我想要这些对象返回默认的“是”值。我猜我必须在Private Sub Workbook_Open()程序中写一些东西,但我不确定在其中写什么。

Private Sub FilteredBox1_Click()


'If FilteredBox1 clicked, evaluates to True and passes "Yes" to Module1.FilBox. Otherwise passes "No".
If FilteredBox1.Value = True Then
    Module1.FilBox = "No"
ElseIf FilteredBox1.Value = False Then
    Module1.FilBox = "Yes"
Else
    Module1.FilBox = "True"
End If

'Saves entered Boolean value of OLEObject to string form
wbSAR.Worksheets("COC Form").Range("B46").Value = Module1.FilBox

标签: excelvbaactivex

解决方案


我找到了一个非常简单的令人满意的解决方案。我没有处理 OLEobjects,而是进入Workbook_Open()程序并将输出变量的初始值设置为“是”。


推荐阅读