2010-05-11 67 views
0

我有哪裏駐留在Excel宏服務器10用戶需要能夠運行相同的宏在Excel中

會有10個不同的工作站,將需要對自己的工作表中運行該宏大約10個用戶。

如何從多個用戶想要在自己的工作表上運行它的集中位置運行宏?

我需要的原因,它集中是因爲宏將需要不斷更新,我們不能把它駐留在本地,因爲那時會有它

的答案如下建議的一個10種不同的情況下,也許一個插件是要走的路?如果我確實創建了一個加載項,它會如何知道有一個宏更新?我每次更新宏時是否需要分發加載項?

+0

爲什麼你的宏需要「不斷」更新? – Mathias 2010-05-11 17:01:53

回答

1

如果用戶打開其工作簿並打開服務器工作簿,則在「打開宏打開」下拉列表中選擇「所有打開工作簿」後,宏將在視圖 - >宏對話框中可用。

不過,我認爲有三個潛在的問題:

1 - 如果這兩個工作簿是在Excel的兩個不同的實例打開,那麼每個工作簿將不顯示其他宏。

2-服務器工作簿中的宏需要足夠聰明才能在其他工作簿上操作。很可能需要提示用戶輸入正確的工作簿和/或工作表。

3-您可能會在遠程宏執行過程中收到安全警告。 (不知道這個)

我可能會創建一個加載宏封裝我的宏,並將其安裝在遠程用戶的機器上,以便他們可以單擊按鈕在本地執行它。

更新基於編輯
外接程序應該能夠遠程拉動新的代碼來更新它執行的宏。例如this等。這可能是一個矯枉過正的解決方案。

+0

也許一個插件是要走的路?如果我確實創建了一個加載項,它會如何知道有一個宏更新?我每次更新宏時是否需要分發加載項? – 2010-05-11 15:51:39

+0

我認爲您可以遠程拖出包含宏代碼的文本文件,然後讓您的加載項將其添加到當前工作簿中,然後執行它。我在我的答案中添加了一個鏈接,可能有所幫助。 – 2010-05-11 15:58:07

1

我會考慮讓每個用戶的工作簿都包含您需要它們運行的​​宏,然後每個用戶都可以在他們的機器上本地調用它。

否則,只需創建一個共享工作簿,並讓所有用戶使用該工作簿。

這實際上取決於工作簿的使用情況以及您想要完成的工作。如果你能提供更多細節,我可以更具體地幫助你。

+0

更新了我的問題 – 2010-05-11 15:43:22

+0

如何在用戶運行宏之前先測試以確保服務器工作簿可用(沒有其他人打開它,http://support.microsoft.com/kb/209189)。然後,當你調用宏打開你的主服務器工作簿,然後從那裏調用該宏(http://www.vbaexpress.com/kb/getarticle.php?kb_id=279)。一旦宏完成,請務必關閉您的服務器工作簿。 只有一個人可以一次更新,所以如果有人在更新,只需提示其他用戶等待2-5分鐘。 – Fink 2010-05-11 16:50:35

0

如果您的問題是要確保人們使用最新的宏,您可能需要查看VSTO。其中一個好處是您可以使用ClickOnce進行部署,其中包括允許您在一個位置發佈代碼,並在發生更改時自動下載和更新用戶的代碼。