专栏首页完美Excel一起学Excel专业开发14:了解Excel应用程序开发的四个阶段

一起学Excel专业开发14:了解Excel应用程序开发的四个阶段

学习Excel技术,关注微信公众号:

excelperfect

在正式将VBA引入我们的应用程序之前,让我们先了解Excel应用程序的四个阶段:开发与维护、启动、运行和关闭。

开发与维护

主要工作是编写应用程序的代码或者更新代码,构建或修改应用程序。主要有两种用于辅助构建代码的方式:

1.代码模板:直接复制基本函数或过程;第三方的代码生成工具。

2.开发工具:实现编程过程自动化的工具,包括一些辅助代码模块或者独立的辅助程序。

启动

在应用程序启动时要完成了一系列任务:

1.检查运行环境是否满足应用程序的要求,包括检查操作系统和Excel的版本是否合适、应用程序所依赖的其他程序或文件是否存在。如果启动时检查失败,那么应该平稳地退出程序并给出相应的错误信息。

2.在应用程序退出时还原所有设置。如果应用程序需要修改Excel的运行环境,那么应该先保存应用程序执行前的最初设置,以便在应用程序退出时还原。

3.构建或打开动态用户接口元素,包括特定应用程序的功能区选项卡、Excel应用程序级的设置、工作簿模板,等等。

4.注册用户自定义函数。如果加载宏中包括用户自定义函数,就需要在Excel函数向导中添加相应的信息。

5.配置初始的用户接口。根据加载宏的类型以及启动时的环境条件处理某些特殊设置,例如当打开加载宏时,如果应用程序的工作簿已处于打开状态,那么应用程序中的所有功能区选项卡元素和快捷菜单应均设置为可用,反之则应该使大部分的功能区元素和快捷菜单项不可用。

运行

应用程序执行各种操作以实现相应的功能:

1.处理来自用户的请求。用户主要通过功能区选项卡中的命令元素、用户窗体控件、工作表中的ActiveX控件和表单控件、以及各种快捷菜单来发现操作请求。

2.处理Excel应用程序事件。应用程序响应由Excel操作所引发的事件。

3.处理运行时错误。当运行时发生错误时,进行处理,避免程序死锁,同时告知用户错误信息。

4.调用其他加载宏中的代码。如果引用了其他加载宏,就可以通过名称来调用其标准模块中的公有过程。当然,如果不使用引用方式,也可以通过Application.Run函数来实现。

5.提供其他服务。在运行时加载宏提供的其他服务,例如用户自定义函数。

关闭

无论是应用程序正常结束还是异常终止,必须完成下面的操作:

1.删除所有特定程序的用户接口组件。也就是说,要删除在应用程序启动阶段所创建的各种元素,包括功能区选项卡或元素、特定应用程序的工作表、特定的快捷菜单。

2.注销所有的用户自定义函数。在启动时,如果在Excel函数向导中注册了用户自定义函数,那么在关闭阶段中必须将其全部注销。

3.恢复原来的配置环境。在启动阶段保存Excel最初的配置,在关闭阶段进行恢复。

本文分享自微信公众号 - 完美Excel(excelperfect),作者:fanjy

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • VBA实战技巧16:从用户窗体的文本框中复制数据

    有时候,我们需要从用户窗体的文本框中复制数据,然后将其粘贴到其他地方。下面举例说明具体的操作方法。

    fanjy
  • 一起学Excel专业开发19:基于Excel的独立式应用程序开发

    本文及接下来的几篇文章主要介绍如何使用Excel开发独立式应用程序。先介绍什么是独立式应用程序及其结构,然后以工时报表与分析系统开发为示例介绍如何创建一个简单的...

    fanjy
  • Excel公式技巧20: 从列表中返回满足多个条件的数据

    在实际工作中,我们经常需要从某列返回数据,该数据对应于另一列满足一个或多个条件的数据中的最大值。

    fanjy
  • 为什么不可变的基础设施「译」

    假设我们有一个应用程序。为了生成可交付成果,我们需要从源代码构建它。这包括编译源代码,处理和复制资源,以及可能的更多步骤。

    后场技术
  • 移动广告库为企业数据带来重大风险

    每天在 Mojave Threat Labs,我们的研究团队都会使用超过 200 个个人风险因素来分析数以千计的移动应用程序。我们跟踪的关键风险因素之一是收集并...

    FesonX
  • 超详细!一步一步教会你如何使用Java构建单点登录

    在开发应用程序时,通常只有一台资源服务器为多个客户端应用程序提供数据。尽管这些应用程序可能具有相似的用户,但它们可能具有执行所需的不同权限。设想一种情况,其中第...

    小小科
  • 「应用架构」应用程序架构的当前趋势

    本文有些不是最最新的,但是方法和思路也有借鉴意义,稍后会介绍Gantner的最新应用架构趋势。

    首席架构师智库
  • 云本机应用程序成熟度的模型

    云本地应用程序是为了能在云基础架构上最佳地运行而构建的。云本地应用程序体系结构与为数据中心设计的传统分层应用程序非常不同。在本文中,我将讨论来自开放数据中心联盟...

    lemon2ml
  • 云原生应用的成熟度模型探讨

    原文地址:https://dzone.com/articles/cloud-native-application

    用户1207305
  • 渐进式Web应用程序的深入概述

    如果您是Web开发人员,您可能已经了解渐进式Web应用程序(PWA)或已经实现了自己的应用程序。 如果您不熟悉,本文将深入概述渐进式Web应用程序的实现原理,以...

    葡萄城控件

扫码关注云+社区

领取腾讯云代金券