gpt4 book ai didi

vba - 如何全面管理我的 VBA 用户窗体的属性?

转载 作者:行者123 更新时间:2023-12-04 22:22:40 25 4
gpt4 key购买 nike

我正在使用 Windows 7 Pro/64Microsoft Office Word 2007 下编写我的第一个 VBA 插件。此加载项的一部分是 UserForm。使用从 Word 运行的 Visual Basic 编辑器,我发现有两种查看方式和两种修改用户窗体属性的方式:

  1. 对象浏览器 (F2) 查看所有属性
  2. 查看一些 属性并从属性窗口 (F4) 编辑它们
  3. 代码 窗口 (F7) 手动输入和编辑任何属性

这是我的属性和代码窗口的屏幕截图:

Visual Basic Editor

我发现的一个问题是属性窗口只包含用户窗体属性的一个子集(注意CanPasteCanRedo CanUndo 不会出现在Properties 中),并且在 Properties 窗口中所做的更改被覆盖 通过在代码窗口中所做的更改(例如,在运行时,上面 代码 窗口中的 Me.Caption 覆盖 Caption 字段em>属性)。

我想我应该完全避免使用 Properties,并通过 UserForm_Initialize 输入所有设置,如上所示。但是 (a) 对于某些设置,Properties 会同时进行多项设置。例如,从 Properties 中选择 Verdana Bold 等于 Font = VerdanaCode 中的 Font.Bold = True。 (b) Properties 似乎将其控制的属性子集设置为其选择的默认值,如果我更改它们,我将看不到它们最初的样子。

因此,我希望一次统一和全面地访问我的所有用户窗体属性,包括上述默认设置。有谁知道如何将用户窗体的默认设置显示为代码,或者如何在代码窗口中自动打开其当前设置的所有?是否有我不知道的伞式机制?

我不是资深的 VBA 程序员,但我不敢相信我的经历是独一无二的。我徒劳地在网上搜索了解决方案。经验丰富的您如何解决这个难题?

最佳答案

您可以使用“属性”窗口在设计时 设置与外观 相关的属性。这些属性值将始终适用除非您在运行时使用 VBA 代码显式更改它们。

与外观无关的属性,例如 CanPasteCanRedo运行时窗体的状态相关-time,因此在设计时配置它们没有意义。

您几乎可以在运行时更改所有属性,无论是在 Initialize 事件中还是在其他地方。您甚至可以在运行时添加控件,但一旦表单实例终止,您的更改将不会保留。

关于vba - 如何全面管理我的 VBA 用户窗体的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41950228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com