2013-12-09 62 views
1

我收集的文檔特定宏和快速構建塊越來越多!我開始與員工分享這些信息,並希望能夠設置每臺遠程計算機一次。從那裏開始,更新網絡路徑上的集合。並且因爲每臺計算機看起來都是共享位置,所以每個人都應該始終使用最新的宏和快速部件等。自定義構建塊模板無法可靠加載

所以。我已經知道:
- 所需的宏保存在一個單獨的模塊中,可以共享/導出。
- 宏本身偶爾會在我的電腦上引用本地路徑。
- 我需要使用泛型代碼引用路徑或使用Environ變量。
- 構建塊和快速部分保存在單獨的模板文件(當前位於Appdata中,以及默認構建塊文件)中。

我不知道的是:
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]") 

我知道這是因爲代碼吐出「CollectionDoesntExist」錯誤,除非我點擊Quickparts公司庫運行代碼的第一個前時間。所以這就像Word不能打開模板文件和看看裏面,除非我先從用戶界面開始。

當然,如果我首先從UI中打開Quickparts庫,那麼在運行我的代碼之前,Word似乎會弄明白,並插入正確的Bui​​lding Block條目,而不會出現任何問題。

+0

hi @ user3084170這個答案有助於解決您的問題嗎?如果沒有,請添加什麼不成功的問題。當答案對您有幫助時,您是否可以通過點擊旁邊的空心綠色複選標記來接受它? –

回答

0

在過去,我一直在研究允許Word的構建塊的產品。有些網站有數百個模板和1.000個元素(請參閱Composition)。我們採取的方法是成功的,並且是不同的。

您正試圖在大量工作站上部署軟件元素(宏)。您可以嘗試使用Microsoft Word和Windows的可能性來實現它,但是當事情發生變化時,它會對問題敏感。例如,切換到Office 2013,將域名拆分爲兩個,在沒有VPN的情況下在家工作等。

選項1 - DIY部署:最好將宏和其他內容放在網頁,web服務或類似網頁後面。在每個工作站上部署一個通用程序,用於引入所有內容並在本地部署。您可能需要將一些參數交給正在調用的網頁,以限制數據量。你可能想在本地緩存東西。

選項2 - 使用ClickOnce:編寫clickonce部署腳本,包含必要的引用並將其放在共享網絡驅動器或http地址上。 ClickOnce在發現新版本時會自動升級軟件。它甚至可以在互聯網上工作。沒有新版本時它什麼都不做。

選項3 - 數據庫:將元素集中放置在數據庫中,允許最終用戶通過表單更改構建塊。讓Microsoft Word與ClickOnce程序結合使用。

對於我們使用過的選項2和3.