【问题标题】:Custom Building Block Template wont load reliably自定义构建基块模板无法可靠加载
【发布时间】:2013-12-27 02:26:03
【问题描述】:

我的文档特定宏和 quickpart 构建块的小集合正在增长!我开始与员工分享这些,并且希望能够只设置每台远程计算机一次。从那里开始,更新网络路径上的集合。而且因为每台计算机都查看共享位置,所以每个人都应该始终使用最新的宏和快速部件等。

所以。我已经知道的:
- 所需的宏保存在单独的模块中,随时可以共享/导出。
- 宏本身偶尔会引用我计算机上的本地路径。
- 我需要使用通用代码引用路径或使用环境变量。
- Building blocks 和 quickparts 保存在一个单独的模板文件中(当前位于 Appdata 中,以及默认的 building block 文件)。

我不知道的:
a) 如何将 Word 指向网络路径以从自定义宏文件中检索宏。 (我是否只需要在每台 PC 上的每个重要更新时导入一个新的宏文件?)
b) 从 CUSTOM 路径加载构建块项目的最佳方式是什么?

我的自定义 BuildingBlock 模板文件有时无法正确加载:

Dim objTemplate As Template
Dim objBB As BuildingBlock    

'set template to store the building block   
 Set objTemplate = Templates("C:\Users\[USER]\AppData\Roaming\Microsoft_
\Document Building Blocks\1033\CustomBBlocks.dotx")

Set objBB = objTemplate.BuildingBlockEntries.Item("[EntryName]")

我知道这一点,因为除非我在第一次运行代码之前单击 Quickparts 库,否则代码会出现“CollectionDoesntExist”错误。因此,除非我先从 UI 进行操作,否则 Word 无法打开模板文件并查看内部。

当然,如果我首先从 UI 打开 Quickparts 库,在运行我的代码之前,Word 似乎会弄清楚,并插入正确的 Building Block 条目而没有任何问题。

【问题讨论】:

  • 嗨@user3084170 这个答案对解决您的问题有帮助吗?如果不是,请在您的问题中添加不成功的内容。当答案对您有帮助时,您是否可以通过单击旁边的空心绿色复选标记来接受它?

标签: vba ms-office ms-word word-2007


【解决方案1】:

过去,我曾开发过一种产品,该产品也允许为 Word 构建块。有些网站有数百个模板,可能有 1.000 个元素(请参阅Composition)。我们采取的方法很成功,而且与众不同。

您正尝试在大量工作站上部署软件元素(宏)。您可以尝试使用 Microsoft Word 和 Windows 的可能性使其工作,但是当事情发生变化时它会对问题很敏感。例如,切换到 Office 2013、将域一分为二、在家工作而不使用 VPN,等等。

选项 1 - DIY 部署:最好将宏和其他东西放在网页、网络服务或类似的东西后面。在每个工作站上部署一个通用程序,该程序可以提取所有内容并在本地部署。您可能希望将一些参数移交给被调用的网页以限制数据量。您可能希望在本地缓存内容。

选项 2 - 使用 ClickOnce:编写 clickonce 部署脚本,包含必要的引用并将其放在共享网络驱动器或 http 地址上。 ClickOnce 会在找到新版本时自动升级您的软件。它甚至可以在互联网上运行。当没有新版本时它什么也不做。

选项 3 - 数据库:将元素集中放在数据库中,允许最终用户通过表单更改构建块。让 Microsoft Word 与 ClickOnce 程序结合使用。

对于合成,我们使用了选项 2 和 3。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多