表单 – VBA表单可以容纳的最大控件数是多少?

我目前正在构建一个Excel 2003应用程序,需要一个非常复杂的形式,我担心控件数量的限制.它目前有154个控件(使用Me.Controls.Count计算 – 这应该是准确的,对吗?)但可能只有大约三分之一完成.工作流程真的适合单一形式,但我想如果我真的需要,我可以拆分它.

我在Google搜索中看到VB6(通常包括VBA)在表单中有254个控件的硬限制.但是,我创建了一个超过1200个控件的虚拟表单,它仍然可以加载并且似乎工作得很好.

尝试添加特定的控件组合时,我确实得到了一些“内存不足”错误,比如800个按钮和150个标签,这让我认为任何限制都可能受到每种控件的内存要求的影响.

有没有人有任何可能有助于确保我或者更重要的是,具有不同环境的其他用户不会遇到如此大型表格的任何内存问题的信息?

解决方法

大多数MSForms控件都是无窗口的(因为它们不是真正的窗口,而是由VBA Forms引擎直接绘制为图形对象),相比之下它们是“轻量级的”.这意味着您可以将更多内容转储到Userform上,而不是在VB6窗体上使用等效的非MSForms控件.

我不知道上限是什么,但它将是一个绝对限制或可用资源强加的限制,所以如果你可以添加1,200而不遇到其中任何一个& excel在内存使用方面表现得很好,你应该没问题.

也就是说,这些控件的数量似乎仍然非常多,无法立即呈现给用户

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些