[英]Deploying a VBA-macro
我创建了一个VBA宏,它将被我公司内部的一些word文档使用。 宏检测标记并从文档中删除章节。 本文档由另一个程序创建。 因此宏应该是可单独分发的。
是否可以生成一个可执行文件,将宏添加到运行可执行文件的用户?
是否有另一种方法来打包宏并将其安装在用户的计算机上?
谢谢
部署宏的最简单方法是通过模板。 创建宏并将文件另存为.dotm(启用宏的模板)。 我想你会得到一个建议,保存你的.dotm文件。
任何想要使用你的模板的同事都必须把它放在那个目录里(我认为它是C:\\ Users \\ [UserName] \\ AppData \\ Roaming \\ Microsoft \\ Templates)。 之后,他应该能够在处理任何word文档时使用宏。
基本上有五种方法可以做到这一点:
1)向每个人发送一个带有宏的文本文件,它们可以粘贴到自己的Normal模板中。 这对于非常简单的宏来说很好,这些宏不太可能与用户自己创建的宏有任何名称冲突,但它确实需要VB编辑器的基本知识。
2)通过导出包含宏的模块向每个人发送您创建的.bas文件。 这为您提供了更多控制,避免了复制/粘贴错误。 仍然需要对VB编辑器的基本理解(或者你的体面指令)。
3)将宏打包在一个模板(.dotm文件)中,该模板位于Templates文件夹中。 用户可以将该模板应用于他们正在创建的任何文档,并获得对宏的访问权限。 不需要VB知识; 这是通过标准的Word新文件过程完成的。 如果需要,还允许您包含样式或其他内容。
4)将宏打包为一个位于Startup文件夹中的全局模板(.dotm文件)。 用户可以访问他们处理的每个文件中的宏,无需应用模板。 如果您正在做的事情对您团队的工作流程至关重要,并且不要求您在宏中包含样式,那么这很好。 您还可以构建UI元素。 (在Word 2011中,此方法可能存在问题;用户可能无法立即访问全局模板,但很容易返回。)
3和4都要求用户最初将.dotm文件放在正确的位置。 您可以帮助他们(一种方法是使用另一个Word文档作为“设置”文件,在运行时,将模板放在假定的正确文件夹中)。 显然,您需要做更多的工作,所以您希望在多大程度上取决于您和您的业务需求。
5)此外,如果您可以控制文档本身的创建(而不仅仅是宏),则可以在文档中嵌入宏。 您可以将宏本身放在文档的ThisDocument模块中(在Project Explorer中找到您的文档,然后打开Microsoft Word对象)。 然后将文档另存为.docm(启用宏的文档)。 应该指示用户在打开文档时启用宏(不同版本的Word使用稍微不同的界面来提示用户这一点,但它总是非常明显)。
在过去的7年中,我一直以不同的方式部署Word VBA。 该软件是一个Word插件,可以让教师更轻松地提供有关作业的反馈。 它作为一个30天的试用版进行分发,如果用户购买它们,它们将获得一个密钥,使他们可以使用eMarking Assistant一年。 您可以在http://eMarkingAssistant.com上测试部署系统
部署和许可机制如下:
这个过程的优点是:
彼得埃文斯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.