问题标签 [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.
excel - 无法关闭用户窗体
让我设置环境。
这是在 Excel 中运行的 VBA 代码。
我有一个包含 msflexgrid 的用户窗体。此 flexgrid 显示客户列表和客户、销售人员、csr、mfg rep 和区域、分配。当您单击列时,假设在“区域”列下,另一个用户窗体打开以显示区域列表。然后单击您选择的区域,用户窗体消失,新区域取代旧区域。
这一切都很好,直到您单击您选择的区域,“区域”用户表单不会消失(它会闪烁)并且新区域不会转移基础用户表单。
我应该提到,当我单步执行代码时,它工作得很好。
我假设它与 flexgrid 有关,因为打开用户窗体的所有其他用户窗体(没有 flexgrids)都可以正常工作。
以下是一些代码示例:
** 来自 flexgrid 的单击事件显示区域用户窗体和区域用户窗体关闭时新区域的分配。
** 以下 Subs 用于 Territory 用户表单
我知道这是一个冗长的解释,但我是一个相当不错的 VBA 程序员,这让我很难过。
任何帮助将不胜感激。
events - Excel VBA - 更新组合框时暂停事件
我有一个用 VBA for Excel 编写的应用程序,它接收实时数据馈送。每当数据发生变化时,都会在 VBA 中触发各种事件。
我也有一些带有组合框的用户窗体。我的问题是,当我单击组合框上的向下箭头并尝试进行选择时,当我从数据馈送中获得更新时,组合框会重置。我想做的是在 ComboBox 中进行选择时暂停事件,然后在完成后取消暂停。如何生成此功能?
excel - 用户窗体取消按钮_间歇性_无响应?
随附的 VBA 程序适用于进度条用户窗体。一切都按预期工作,除了取消按钮间歇性无响应。
我断断续续地说,因为 95% 的时间我必须在程序停止之前多次单击取消按钮。我可以看到按钮单击事件被动画化,但该过程没有被中断。在按钮按下事件发生之前,似乎有什么东西正在从取消按钮中窃取焦点。
退出和窗口关闭按钮按预期响应一键。
我需要做什么才能使取消按钮正确响应?谢谢!
更新:我注意到,当我单击并按住取消按钮时,它会被踢回,而不是按钮保持“向下”。所以显然有些东西正在将按钮状态重置为向上,速度足够快,以至于该过程没有捕捉到向下状态以触发点击事件。
这是用户表单模块(名为 UserForm1)中的代码:
下面是调用 UserForm1 的模块(名为 Module1)的代码:
vba - 将 VBA 中的 ProgressBar UserForms 显示为模态还是非模态更好?
将 VBA 中的 ProgressBar UserForms 显示为模态还是非模态更好?在 VBA 中开发进度指标的最佳实践是什么?
无模式用户窗体需要使用Application.Interactive = False
,而模态用户窗体本质上会阻止与应用程序的任何交互,直到核心过程完成或被取消。
Application.Interactive = False
但是,如果使用 Esc 键会中断代码执行,因此在 UserForm 和调用过程中都需要使用Application.EnableCancelKey = xlErrorHandler
和错误处理 ( )。Err.Number = 18
资源密集型调用过程也可能导致无模式用户窗体中的事件失败CommandButton_Click
。UserForm_Activate
一般来说,使用模式 UserForms 的进度指示器看起来更简单,因为正在执行的代码完全包含在 UserForm 模块中,并且不需要传递变量。
然而,使用模式 UserForms 作为进度指示器的问题是,每个需要进度指示器的过程都需要一个单独的 UserForm 模块,因为调用过程必须在 UserForm_Activate 过程中。
因此,虽然可以在无模式用户窗体中拥有一个可重用的进度指示器,但它的可靠性不如从多个模式用户窗体中执行代码。
哪种方式更好?
谢谢!
vb.net - Windows 窗体的外观
刚开始使用 Visual Studio 2008,并希望将我的 VBA 用户窗体转换为 VB.NET,以便将我过时的UserForm
控件升级为与操作系统匹配的较新的 Windows 窗体控件。
我在 Visual Studio 中创建的 Windows 窗体看起来很棒,但是当我在 PowerPoint 或 Excel 中加载它们时,窗体控件看起来和以前一样难看(例如普通的矩形按钮)。
有没有办法在 Visual Studio 中使用 VB.NET 在我的 Windows 窗体中使用现代控件?
vba - VBA 如何使用右键单击在用户窗体中复制和粘贴?
我希望允许用户能够将值粘贴到 VBA 中 userForm 中的 TextBoxes 中。您可以很好地使用 Ctrl-v,但不是每个人都知道如何做到这一点。
如何使用右键菜单启用复制和粘贴?
excel - 无法从用户窗体中读取按钮单击的值
我希望这是一个相对简单的问题,尽管我花了数小时进行网络搜索和使用 T&E 无济于事。希望有人可以提供帮助;o)
我有一个 excel 模块,它显示一个 UserForm 在进行大量处理之前获取一些输入数据。在用户窗体的底部有几个标记为“确定”和“取消”的命令按钮。我需要能够让用户更改选项按钮,然后单击确定或取消退出,我的模块将继续基于是否按下了“取消”。我似乎无法通过按下表单上的“取消”按钮来读取布尔结果。我 99% 确定这是某种公共/私人引用错误,但是我还没有获得足够的经验来弄清楚。这是代码片段:
(来自模块 1)
根据 Cancel 中的 True 或 False,我可以驱动程序的其余部分。
(UserForm2 代码)
而已。看起来应该很简单,但我很难过。TIA 寻求帮助!
vba - 脚本中的用户窗体从 Outlook 规则运行
基于http://support.microsoft.com/kb/306108我想创建一个自定义规则,显示自定义用户窗体而不是普通的旧 MsgBox。我写的是这样的:
CustomAlerts 是一个包含单个 ListBox 的用户窗体。
遗憾的是我的尝试不起作用——没有出现任何窗口。我究竟做错了什么?
vba - 如何在 VBA 中更改用户窗体的标题栏文本?
我正在维护一个用 VBA 为 Excel 2002 (XP)/2003 编写的老式应用程序,并试图将其国际化。
为此,我动态读取翻译后的字符串,并通过更新其 .Caption 属性来更新我的用户窗体上的各种控件。
这适用于所有控件,但不适用于表单本身 - 当我更改表单的 .Caption 属性时,标题栏会继续显示“硬编码”值,而新值则显示在它的正下方,在表单本身的“画布”的顶部。
是否可以在显示后更改 UserForm 的标题栏文本,或者我必须在显示之前更改表单的 .Caption 属性,以便它反映在标题栏中而不是在画布/客户区?
我的代码看起来像这样:
正如我所说,分配pForm.Caption
确实有效果 - 但它不会写入窗口的标题栏,而是直接在它下方。我在 Windows XP SP 3 上运行 Excel 2003。
vba - VBA 文本框失去对“Alt-Gr”的关注
我在 VBA 用户窗体上遇到了一个有趣的文本框行为:按 Alt-Gr 时,框失去焦点。这发生在为表单运行了一些 VBA 初始化代码之后。文本框既没有初始化代码也没有事件监听器。直接从 IDE 启动用户表单一切都很好。
我怀疑 MS Office 或 Windows 更新是造成这种行为变化的原因,但我无法确定。
任何人都知道问题是什么以及如何解决这个问题?感谢您的任何建议。
顺便说一句:VBA 在名为 Organice 的 CRM 应用程序中运行,该应用程序具有嵌入式 VBA 运行时环境。
斯坦比格尔