在电子表格中使用 activex 复选框控件
using activex checkbox control in spreadsheet
我正在使用 Excel 2013。我有一本 excel 工作簿。该工作簿在 sheet 'charts' 中包含一个 activex 复选框控件。该控件称为 chkAll。打开工作簿时,会应用一些默认设置,其中之一是选中此复选框。下面的代码行是我正在使用的。
Sheets("charts").chkAll.value = true
这在过去的几个月里一直有效,但今天它不再有效了。获取错误信息 "Object doesn't support this property or method".
此外,当我手动尝试从 ActiveX 控件部分向传播sheet 添加一个复选框时,我收到一条错误消息,说我 "cannot insert object"。
不确定为什么现在会出现这些错误?
这是由阻止 ActiveX 控件在 Excel 工作簿中工作的 Microsoft 更新引起的。关闭所有办公程序,然后导航至:
C:\Users\[用户名]\AppData\Local\Temp\Excel8.0
并删除 MSForms.exd 文件将解决问题。
这是一个临时文件,将在您再次启动 Excel 时重新创建,所以不用担心删除它。
试试这个(对于作品中的 ActiveX 控件sheet):
ThisWorkbook.Sheets("charts").Shapes("chkAll").OLEFormat.Object.Value = 1 '= true // for false the value is -4146.
此外,对于 sheet 中的表单复选框,请使用:
ThisWorkbook.Sheets("charts").Shapes("chkAll").ControlFormat.Value = 1 '= true // for false the value is 0.
我正在使用 Excel 2013。我有一本 excel 工作簿。该工作簿在 sheet 'charts' 中包含一个 activex 复选框控件。该控件称为 chkAll。打开工作簿时,会应用一些默认设置,其中之一是选中此复选框。下面的代码行是我正在使用的。
Sheets("charts").chkAll.value = true
这在过去的几个月里一直有效,但今天它不再有效了。获取错误信息 "Object doesn't support this property or method".
此外,当我手动尝试从 ActiveX 控件部分向传播sheet 添加一个复选框时,我收到一条错误消息,说我 "cannot insert object"。
不确定为什么现在会出现这些错误?
这是由阻止 ActiveX 控件在 Excel 工作簿中工作的 Microsoft 更新引起的。关闭所有办公程序,然后导航至:
C:\Users\[用户名]\AppData\Local\Temp\Excel8.0
并删除 MSForms.exd 文件将解决问题。
这是一个临时文件,将在您再次启动 Excel 时重新创建,所以不用担心删除它。
试试这个(对于作品中的 ActiveX 控件sheet):
ThisWorkbook.Sheets("charts").Shapes("chkAll").OLEFormat.Object.Value = 1 '= true // for false the value is -4146.
此外,对于 sheet 中的表单复选框,请使用:
ThisWorkbook.Sheets("charts").Shapes("chkAll").ControlFormat.Value = 1 '= true // for false the value is 0.