初始化OLEObject以返回默认值

时间:2019-11-25 14:39:29

标签: excel vba activex

我有一个设置有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

1 个答案:

答案 0 :(得分:0)

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