作为我正在开展的项目的一部分,我需要能够在Excel电子表格中创建复选框,任何人都可以提供一个简单的示例或指导我有用的参考吗?我正在使用excel Interop.
提前致谢.
您可以在工作表上放置两种控件,"控件工具箱"中的ActiveX控件和"窗体(或绘图)"工具栏中的"窗体"控件.
通常,两种类型的控件类似,因为它们以相同的方式工作.也就是说,"绘图"工具栏中的文本框是一个控件,您可以在其中键入文本.这基本上与ActiveX文本框相同.两种类型的复选框用于选择或取消选择选项.
显然,使用其中一个的决定将基于他们的差异,而不是他们的相似之处.无论如何,主要区别在于事件和格式.在显示或响应控件事件时,ActiveX控件为电子表格设计人员提供了更大的灵活性.查看ActiveX控件的属性表明,与使用Forms控件相比,您可以使用它们做多少.此外,Forrms控件有一个基本事件,即click事件,您可以通过为控件分配宏来访问该事件.另一方面,ActiveX控件有很多事件.例如,ActiveX组合框有15个事件.
所有这些灵活性都需要付出代价(你知道会这样).ActiveX控件带来了更多的开销,并且有着错误的历史.
权衡好坏,我总是使用Forms控件,除非我有特定的理由使用ActiveX.表单控件很精简,使用简单易用.但是,如果我需要一个组合框来显示某种字体,我别无选择,只能使用ActiveX控件.同样,如果我需要避免文本框中的某些字符,我将需要KeyPress事件,这是Form文本框中没有的.所以我的建议和我的做法是使用Forms控件,除非我需要只有ActiveX控件提供的功能.
表单复选框添加代码
ActiveSheet.CheckBoxes.Add 87, 18, 72, 17.25
Run Code Online (Sandbox Code Playgroud)
ActiveX复选框添加代码
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=69.75, Top:=59.25, Width:=117.75, Height _
:=14.25)
Run Code Online (Sandbox Code Playgroud)
此代码是VBA,但可以通过互操作从.Net轻松调用
归档时间: |
|
查看次数: |
6663 次 |
最近记录: |