2017-04-26 36 views
0

我有一個場景,我們需要在服務器上打開一些電子表格,通過添加按鈕更新每個工作簿上的工作表數量。在遠程桌面上使用VBA運行Excel加載項功能

因此,用戶打開遠程桌面,打開電子表格,轉到工作表x,進入加載項菜單並單擊按鈕。該按鈕更新表單上的數據,需要幾秒鐘。然後他們打開表格並重復。最終所有工作表都會更新並且用戶保存並關閉工作表。

我試圖自動化這個。我的想法是有了「主人Excel文檔」的一個按鈕來執行VBA代碼將:

  • 打開一個特定的文件夾
  • 打開每個工作簿文件夾中
  • 週期隔着薄片,並找到那些需要更新(因爲不是每個工作表都需要更新)
  • 完成後,保存並關閉工作表,然後重複所有工作簿和所有文件夾。

我現在的主要問題是我需要弄清楚如何從我的VBA代碼執行加載項功能。我已經研究並發現我需要使用如下代碼運行它:APPLICATION.RUN「ADDIN_NAME.XLA!SUBNAME」

我想我有ADDIN_NAME(通過單擊文件,選項,加載項找到此文件)。但我無法弄清楚如何獲取子名。

使用宏記錄器不起作用 - 沒有代碼記錄用於單擊插件按鈕。當我將鼠標懸停在插件按鈕上時,它會給我「分析人員:刷新報告,使用當前標準」。任何關於如何解決子名是什麼的建議? enter image description here enter image description here

+0

難道你不能共享存儲文件的服務器驅動器,只是在沒有RDP的情況下在本地執行? – Tom

+0

是功能區中還是表單上的按鈕? –

+0

@Tom,服務器擁有多個難以/不可能在本地獲得的權限和服務。 –

回答

0

你可以通過撬動其重命名爲拉鍊打開XLS(M?)文件,在ZIP打開它,導航到customUI/customUI.xml並打開記事本。閱讀應該給你的每個按鈕添加的宏的名稱是調用。

例如。

....size="large" onAction="showuserform" imageMso="CreateRepo.... 

其中showuserform是被調用的宏的名稱。

+0

啊,是的,這是一個VSTO。我相信你仍然編寫XML來操作功能區,但編譯後可能會很難閱讀(如果這是正確的話 - 我自己不使用VSTO) – CLR

+0

感謝CLR - 我沒有設法獲得任何我能看到的東西作爲使用這種方法的可用。我查找了各種關鍵字,看看其中的其他文件是否有可用的東西(customUI.xml之外),但不幸的是沒有發現任何東西。 –

相關問題