[VB6][VBA]制作一个可以封装 VBA 或 Office 文档的封装程序

[VB6][VBA]制作一个可以封装 VBA 或 Office 文档的封装程序


  DBD.exe 是用 VB6 开发的小工具,当时觉得 VB6 的封装布署工具太过庞大,界面外观也不够秀气。 过去经常有把包含 VBA 宏的 Office 文档带出去介绍的场合。通常我会把要用到文件和素材、放在独立的数据夹里再用 rar 压成一个自解档放在 Ftp 或随身碟上,等到了现场再解开来操作,这些文件有时也需要散布给听众或学员参考使用。

  目标文档可能是一组简报档、一份 Word 文档档或是一个 VBA 宏项目……等等,尤其在散发文档数据后作者还会有修改、更新的情形。渐渐觉得这个模式很像是应用软件的封装和散布,因为它也要能支持侦测版本,以及从网络自动更新的能力,只是主角未必是一个标准的 exe 可执行文件 。

  这个程序是2005年写的,那时教育部在全面推动所谓的“资讯科技融入教学计划”,鼓励中小学教师自制资讯融入教材并应用在教学上,个人是团队成员之一,面对当时环境和工作上的需求写了一些东西,这个小工具也是那个时期的作品,而它的“网络版本更新”功能倒和现在微软的 (Click Once) 相同。

  • 下载 DBD 工具程序:dbd4_04_13_setup.exe

  • 程序说明:程序分三个项目以项目群组方式开发:
    1. 主程序。
      负责建立档头、索引以及执行合并、分解等工作,并处理使用者界面。
    2. 自解档的部分。
      单独编译为可可执行文件后以 Resource 的角色加入主程序,让输出文件具有 exe 规格,输出后可担任火车头的工作。
    3. 进行网络版本更新时的中继程序。
      当主程序发现有最新版本时,为了让程序可在执行中被更新,需要一个暂时接管控制权的中继程序对可执行文件做同名复制的动作。

  • 使用说明
    1. 把多个文件合并为单一文件。
      1. 合并档的副文件名为 .dbd(是档包档的音译)于第一次执行时会修改注册表和主程序产生关联。
      2. 要打包文件时可利用(由主程序开启)(拖曳到)(传送到)三种方法。
      3. 以右键传送打包说明如下:
        选取文件→传送到 DBD 选择输出为 dbd 档包档 完成后 Click 输出位置

        Snap32

        Snap33

        Snap34

      4. 解包:
        DoubleClick 生出的 .dbd 档 原文件会放在这个同名数据夹里
        Snap37 Snap38
    2. 做为简报 pps 或 Office VBA 项目封装工具。
      1. 把简报档和用到的其它文件一并用 dbd 打包。
      2. 打包设定时选择输出[安装程序包]。
      3. 设定一些参数,包含是否要有桌面捷径、图示..等等。
      4. 图解说明如下:
        右键传送 pps 和一些素材到 dbd 选择输出 .exe安装程序包 产生了 setup.exe 档
        image

        image

        image

      5. 解包进行安装:
        DoubleClick 生出的 .exe 档 桌面出现了简报的捷径 开启它..
        image

        image

        image


         
    3. 应用程序封装:
      1. 应用程序封装方式和前节相同。
      2. 如果封装 VS.net 程序只要把主要项目输出的组件包进去即可(不必勾选注册 dll & ocx,除非你用到它)。
      3. 如果封装 VB6 的可执行文件或 VBA 宏文档,要自行认知要包哪些东西进去。
      4. 因为没有支持打包数据夹结构,所以留了个[解包后置命令]的功能,让有此需求时可以用 rar 等工具配合解决。
      5. 图解说明如下:
        右键传送文件到 dbd 选择输出 .exe安装程序包 产生了 xxx_setup.exe 档
        image

        image

        image

      6. 进行安装:
        DoubleClick 安装档 顺利的出现桌面捷径 执行成功
        image

        image

        image



ku3