5

我来到这个页面,正在考虑将我的VbaProject.OTM文件(位于%appdata%\Microsoft\Outlook\)分发给我办公室的大约 30 个用户的最佳方法。将 OTM 文件复制/粘贴到网络上,然后将其复制/粘贴回所有用户的计算机(手动或使用 .bat)更好还是使用上面链接中描述的方法生成更好?一个 OPS 文件并使用 Proflwiz.exe 将其导入回来?有什么不同?

实际上,我们都在使用 Microsoft Office Outlook 2003,我们可能有一天会升级到 2007,但从现在开始还需要几年时间。

4

1 回答 1

6

最后想出了一些元素来部署一个 Outlook VBA 项目。有很多方法可以做到这一点,但不安装任何东西并保持相同方法的最简单方法是直接从服务器运行 OTM 文件。我发现进程outlook.exe 有一个参数altvba,允许指定另一个路径来运行OTM 文件。这是一个例子:

outlook.exe /altvba "\\myServer\myFolder\myFile.otm"

这允许我只更新一个文件来更新所有计算机。显然,如果文件很大并且服务器的 ping 偏高,可能会延迟 Outlook 的启动。这种方法的另一个问题是,如果你想更新服务器上的 OTM 文件,每个人都必须关闭 Office(如果你在每个人都使用 Outlook 的办公室工作,你知道这是不可能的让每个人同时关闭它,除非你编写了一个宏来最终这样做)。为了防止这两个问题,我可以设置一个批处理文件来在每次有新版本时复制服务器 OTM 文件客户端(只需检查 NTFS last-modify 属性)。这样,Outlook 将使用本地文件启动,如果需要,批处理文件需要 2-3 秒来复制文件(或将立即启动 Outlook),并且在服务器上更新 OTM 文件不会有问题。用户必须使用批处理文件启动 Outlook(或使用稍微不同的 Outlook.exe 路径和 altvba 参数,因此无论哪种方式,他们都需要不同的快捷方式/文件才能第一次启动)。另一个优点altvba是用户在没有它的情况下运行 Outlook 仍然很容易(查看 VBA 是否有问题,以防 Outlook 运行缓慢),并且在 Outlook 重新初始化后文件将保持不变。

其他解决方案包括一个 COM 补充,可以在包括 VB6 在内的多种语言上开发(无需从 VBA 进行转换)。Microsoft Office XP Developer 中还包含许多工具,可以帮助完成工作(但不是免费的,尤其是在您需要最新版本的情况下)。

于 2013-01-28T19:50:38.697 回答