问题标签 [userform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
class - VBA 用户窗体对象
我真的在这里为某些事情苦苦挣扎。我有一个类模块,我们称之为 FormMan,它有一堆与我项目中的大量用户表单相关的方法。一种特殊的方法可以从很多不同的地方调用,而且非常简单——它只是将用户定义的控件数量添加到表单并扩展表单高度以适应这些新控件。
用户传递控件的数量和用户窗体。
在 FormMan 类模块中:
在 Locals 窗口中,oForm 没有高度属性,所以很公平。但 oForm 已被定义为 frmTest。我可以说oForm.BackColor = vbred
,我可以设置ctl = oform.TextBox1
例如
这是一个通用过程,可以将一堆控件添加到任何形式。在将表单分配给 oForm 之前,我已经尝试加载并显示表单。
为什么用户窗体的高度和显示属性和方法,而不是声明为用户窗体的对象?我究竟做错了什么?
非常感谢任何帮助。
vba - 使用 VBA 将控件添加到 Excel 用户窗体中的框架
我需要动态创建标签和按钮,然后将它们添加到用户窗体中的框架中。我该怎么做呢?似乎它应该比实际上更容易。
excel - 将单击 VBA 函数分配给 Excel 用户窗体上动态创建的按钮
我正在使用以下代码在 Excel 用户窗体上动态创建按钮:
我想指定一个函数在单击这些按钮时运行,但我找不到直接的方法来执行此操作,因为按钮本身没有属性。
有没有办法使用上述成语做到这一点?我应该以不同的方式处理这整个事情吗?
vba - Outlook 中的用户窗体没有响应(无法关闭,按钮单击事件不会触发)
我在 Outlook VBA 宏中创建了一个简单的用户窗体 - 我可以使用以下代码使窗体可见:
...而且UserForm_Initialize()
事件确实会触发。但是单击表单上的“提交”按钮没有任何作用 -SubmitButton_Click()
事件(通过双击设计器中的按钮自动创建)永远不会触发。此外,用户窗体在窗口的右上角有一个通常的小红色 X,但单击它不会执行任何操作(窗体不会关闭或退出)。
知道我可能做错了什么吗?我对 VBA 很陌生。
vba - vba userforms回车行为
在 VBA 中用户窗体的文本框中,我想启用用户可以通过按键盘上的“Enter”键在文本框中添加新行的功能。但是,我很难在 UI 编辑器中找到一个 UI 选项来实现这一点。这在 VBA 用户表单中是否允许?提前感谢您的建议和答案。
events - 是否可以在事件处理程序触发时跟踪它们的顺序?
使用 Excel 2002 并拥有一个包含一些用户窗体的 VBA“应用程序”。主用户窗体包含许多触发各种输入/退出事件的文本框。
我现在遇到了一个问题,其中一个文本框退出事件连续触发 2 次(我知道是因为每次都会出现一个消息框)。
Excel VBA 中是否有一些方法可以跟踪所有触发的事件及其顺序,而无需在每个事件/过程中编写代码?
excel - 将热键分配给为 excel vba 创建的表单上的按钮
我为 excel 创建了一个宏,它将弹出包含按钮和文本字段的表单。有没有办法为按钮分配诸如“ctrl+Enter”或“F12”之类的热键?无论焦点在哪个字段或按钮上,热键都应该起作用。
(到目前为止,我已经设法创建按钮/fields_Keydowns 来检查 MSForms.ReturnInteger 的 vbKeyF12,但我必须对每个字段和按钮都这样做,有没有更简单的方法?)
说,我在表单上有两件事,按钮“CommandButton1”和文本字段“TextBox1”
按钮代码:
当我添加更多字段和按钮时,热键会很有用......
另外我如何设置“退出”按钮来关闭/隐藏表单?
vba - Excel VBA中用户表单上的计时器
我有一些旧的 Excel VBA 代码,我想在其中定期运行任务。如果我使用的是 VB6,我会使用计时器控件。
我找到了Application.OnTime()方法,它适用于在 Excel 工作表中运行的代码,但我无法让它在用户表单中运行。该方法永远不会被调用。
如何让 Application.OnTime() 在用户表单中调用方法,或者是否有其他方法可以安排代码在 VBA 中运行?
excel - VBA 用户窗体数组
目前,我有一个 Excel 电子表格,其中包含一些数据和一个命令按钮,该按钮创建一个显示该数据子集的用户窗体。UserForm 的设计方式使数据更易于查看。我遇到的问题是我希望命令按钮创建我的 UserForm 的多个实例,以便每个表单可以显示一组不同的数据。
我对 VBA 很陌生,所以任何建议或只是我开始的地方将不胜感激。谢谢。
vba - 为什么将用户窗体显示为模态停止代码执行?
以下 VBA 代码停在Me.Show
. 从我的测试来看,似乎Me.Show
停止了所有代码的执行,即使代码在用户窗体中也是如此。
这部分在 UserForm 之外:
这部分在 UserForm 内:
Me.Show
显示 UserForm 后,代码在 处停止。没有错误,它只是停止执行代码。似乎在 VBA 中的模态 UserForm 中执行代码的唯一方法是将其包含在 UserForm_Activate 过程中,如下所示:
这部分在 UserForm 之外:
这部分在 UserForm 内:
当然,我不能将Me.Show
UserForm_Activate 放入其中,因为该过程仅在 UserForm Show 事件之后触发。
文档UserForm.ShowModal
说“当用户窗体为模态时,用户必须在使用应用程序的任何其他部分之前提供信息或关闭用户窗体。在隐藏或卸载用户窗体之前不会执行后续代码。 ”
我正在尝试使用模态 UseForm 作为进度条,以防止用户在进程运行时与应用程序交互。但是,如果我的所有代码都必须在 UserForm_Activate 过程中,这将很难实现。
我在这里错过了什么吗?为什么所有代码执行都停在Me.Show
?