dnL*_*nLL 5 outlook vba outlook-vba outlook-addin
我来到此页面,正在考虑将我的VbaProject.OTM文件(位于中%appdata%\Microsoft\Outlook\)分发给办公室中大约30位用户的最佳方法。是更好地简单地复制/ OTM的文件粘贴到网络,然后复制/粘贴回所有用户的计算机(手动或使用.BAT)OR它会更好使用的方法在上述生成的链接描述一个OPS文件,然后使用Proflwiz.exe将其导入回来?有什么不同?
实际上,我们都在Microsoft Office Outlook 2003上,也许有一天,但可能要几年后,才能升级到2007。
最后,提出了一些用于部署Outlook VBA项目的元素。有很多方法可以执行此操作,但是最简单的方法(无需安装任何程序并保持相同的方法)是直接从服务器运行OTM文件。我发现进程Outlook.exe具有一个参数altvba,该参数允许指定另一个路径来运行OTM文件。这是en示例:
outlook.exe /altvba "\\myServer\myFolder\myFile.otm"
这使我只能更新一个文件来更新所有计算机。显然,如果文件很大并且服务器的ping偏高,则可能会延迟Outlook的启动。此方法的另一个问题是,如果要更新服务器上的OTM文件,每个人都必须关闭Office(并且如果您在每个人都使用Outlook的办公室中工作,则您确实知道这是不可能的)以使所有人都同时关闭它,除非您最终编写了宏来这样做)。为避免这两个问题,我可以设置一个批处理文件以在每次有新版本时在客户端复制服务器OTM文件(只需检查NTFS的last-modify属性)。这样,Outlook将使用本地文件启动,如果需要,批处理文件将花费2-3秒来复制文件(或者将立即启动Outlook),并且更新服务器上的OTM文件不会有问题。用户将必须使用批处理文件(或带有altvba参数的Outlook.exe路径略有不同的启动Outlook),因此无论哪种方式,他们都需要使用不同的快捷方式/文件来首次启动。的另一优势altvba 是用户在没有Outlook的情况下仍然很容易运行Outlook(以查看VBA是否有问题,以防Outlook缓慢),并且在Outlook重新初始化后文件将保持不变。
其他解决方案包括COM补充,可以用包括VB6在内的多种语言开发(无需从VBA进行转换)。Microsoft Office XP Developer中还包含许多工具,可以帮助完成工作(但是不是免费的,特别是在您需要最新版本的情况下)。