簡體   English   中英

在網絡驅動器上共享 *.xlam - 調用 subs 和函數

[英]shared *.xlam on network drive - call subs and functions

我一直在論壇上搜索以下挑戰的解決方案,但不幸的是沒有任何運氣。 我已經編寫了一些 subs 和函數,我需要將它們提供給我的同事,並且我希望能夠集中更新。 為了做到這一點,在這篇精彩的文章https://www.excelguru.ca/content.php?152-Deploying-Add-ins-in-a-Network-Environment 之后,我制作了一張可以部署我的將代碼添加到我們網絡驅動器上的 *.xlam 以及在用戶 excel 上安裝加載項的代碼。 為了允許用戶調用 *.xlam 中的子程序/函數,我添加了對需要子程序/函數的工作簿模板的引用。

但是,由於 Add In 位於網絡驅動器上,因此它並不總是可用,並且用戶將收到編譯錯誤“找不到項目或庫”。

所以,我的問題是:

  1. 有沒有辦法仍然使用引用方法,但解決“找不到項目或庫”錯誤?
  2. 有沒有更好的方法讓用戶從 Add In 調用函數?
  3. 最重要的是:我應該以完全不同的方式共享和更新代碼嗎?

最好的問候 Knekse

因為:

  1. 一個加載項可以加載另一個加載項。 Workbooks.Open(Filename:=pathToFile & addinFilename, ReadOnly:=True)
  2. 網絡資源並不總是可訪問的。

您可以嘗試在客戶端計算機上使用存根加載項。

這個存根可以:

  1. 檢查所需的加載項是否在網絡上可用,並在可能的情況下加載。
  2. 選項 A:提供存根函數/子程序,當它可用時調用所需加載項中的實際例程,否則返回合適的失敗狀態或默認消息。
  3. 選項 B:自動將所需加載項復制到本地計算機上的緩存,並在需要時添加加載緩存副本。

通過保持存根簡單並經過充分測試,它不需要經常更改,因此您不會失去將主要加載項保留在網絡上的全部好處。

請注意,無需將聯網加載項添加到 AddIns/AddIns2 集合中; 你可以只使用 Workbooks.Open(pathToAddIn, ReadOnly:=True)。 以這種方式打開時,它不會顯示在‹‹文件›選項›插件››中。 因此,如果您想在不關閉 Excel 的情況下卸載或重新加載加載項,您的存根加載項應該提供一種方法來執行此操作,或者您需要使用 VBA 執行此操作(例如在 VBA 的立即窗口中)編輯)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM