代码之家  ›  专栏  ›  技术社区  ›  MarkJ

Excel VBA开发最佳实践[已关闭]

  •  10
  • MarkJ  · 技术社区  · 16 年前

    我们是一个 ISV 有开发和分发用VB6编写的桌面应用程序的经验。我们现在正在开发包含VBA代码的Excel电子表格工具。包括当地政府机构在内的各种用户都可以免费下载这些文件。

    我们以前很少在自己的组织之外分发电子表格。我们应该遵循什么样的最佳实践?我们是否应该注意哪些陷阱?

    我知道以下几点。

    3 回复  |  直到 9 年前
        1
  •  2
  •   MarkJ    16 年前

    我想到两件事:

    • 如果由于某种原因,单元格中有公式或文本,请尝试重构它,如果它是>255个字符,因为Excel在复制工作表时截断它没有问题。它甚至不会根据操作方式通知您。
    • 如果使用命名范围,请避免使用三个字母命名的范围,或三个字母后跟数字。例如,在Office 2007中,BAD1是一个有效的单元格引用。
        2
  •  2
  •   Mark Nold    16 年前

    我发现创建一个 加载项 更容易分发。通常情况下,我会有一个带有文档选项的菜单,并可以创建功能所需的任何模板。通过改变你的电子表格,更“像应用程序”意味着更多的工作,但它有几个优点;

    1. 更容易与你的外观和感觉保持一致
    2. 所有代码、模板等都在一个文件中(即:外接程序)
    3. 您可以轻松地重用代码(可能是最重要的部分)

    有关其外观的示例,请参阅 this demonstation

    我经常添加的另一个技巧是版本控制和使用日志。每个主要功能在运行时都会命中Web服务器,并记录其使用情况。这并非适用于所有情况,但在企业环境中,了解谁在运行哪些Excel迷你应用程序以及运行频率非常方便。

        3
  •  1
  •   tarriel    12 年前

    我发现在为大量非技术用户创建电子表格时,这一点很有用。这适用于excel 2007和更早版本(不确定在更高版本中是否仍然存在问题),用户可以在其他工作表中损坏公式,即使所有内容都受到保护。

    1. 使用命名范围,这样当有人改变主意时,它们可以轻松调整大小或移动。
    2. 使用数组公式就像人们剪切和粘贴单元格一样,他们会修改依赖于这些单元格的任何公式,如果使用数组,他们必须剪切整个数组来销毁公式
    3. 制作数组时,要确保顶部和底部的一行,以及左侧和右侧的一列受到保护,用户不能更改,这样他们就不会损坏公式。

    从未研究过如何确保格式保持不变。