2010-05-11 30 views
3

我有一個名爲book1的加載項。該插件裏面有稱爲Module模塊,它有一個叫子addin1從加載項運行一個宏

我想從不同的工作簿中運行宏addin1

我試圖調用此宏是這樣的:

Call Addin1 

但不工作

和我想:

Call book1.xlam.Module1.AddIn1 

這是行不通

有誰知道如何運行加載項內的宏?

回答

14

(假設的Office 2007) 下面是一個例子:

1-打開一本新的工作手冊。
2-添加一個包含代碼的宏MsgBox("Add-In")
3-保存爲xlam文件。
4-打開新的工作簿。
5-單擊Office按鈕 - > Excel選項
6-單擊左側的加載項選項卡。
7-在底部的「管理」下拉列表旁邊,選擇「Excel加載項」,然後單擊執行。
8-單擊瀏覽並導航到您的xlam文件。
9-確保選中文件旁邊的框,然後單擊確定。
10-單擊Office按鈕 - > Excel選項。
11-點擊自定義標籤。
12-在「從下拉菜單中選擇命令」中選擇宏。
13-雙擊您的AddIn,現在快速訪問工具欄上會出現一個按鈕。
14-單擊該按鈕,現在將顯示您的消息框。

+0

嗨雅各布,我使用的是office 2007.我做了上面寫的,直到第12點我能夠複製它,但是我有一個步驟13的問題,在選擇「宏」命令從下拉菜單中,我的自定義插件不會出現在下拉菜單中添加。 在此先感謝。 – 2014-07-24 05:55:21

+0

步驟1-9,獲取插件可訪問。我認爲OP可能已經處於這個階段。由於使用插件功能可以立即訪問,但不能下載。步驟10-14工作,但步驟12應該說「自定義功能區」。我發現第13步不應該說「雙擊你的插件」,插件沒有在那裏列出,但子例程是..然後可以點擊「添加>>>」按鈕,並獲得工具欄中該宏的按鈕。 – barlop 2017-09-17 22:09:29

2

我相信這是你尋找的東西:)你需要所有的單引號和!在正確的地方,可能會有點棘手。

run "'book1'!module1" 
5

在您的工作簿你寫:

Sub test() 
    ' from other excel file 
    Application.Run ("youraddin.xla!ShowForm") 
End Sub 

而且在插件你有

Public Sub ShowForm() 
    loginform.Show 
End Sub 
1

除了Jacob G的回答 - 如果您的.xlam圖書受密碼保護,您應該打開它進行編輯(即輸入密碼)。否則,.xlam書宏在「選擇命令從下拉菜單」

1

將不可見關於如何運行安裝的加載項的子程序(.xlam):

  1. 確保VBA與加載項相關聯的項目具有唯一的名稱(不是VBAProject) - 比如Addin_1。

  2. 在要從中調用加載項中的子例程的工作簿的VBA項目中,設置對Addin_1的引用。工具>參考,在可用引用列表中找到Addin_1,然後單擊相鄰的框(出現一個勾號)。

  3. 在工作簿的代碼模塊的子程序,你現在可以調用加載的子程序,使用:

    Call Addin_1.routine_name(routine parameters) 
    

既然你已經Addin_1參考,名稱一旦你鍵入Call Addin_1.,加載項中的子例程將出現,一旦你輸入了Call Addin_1.routine_name(就會出現特定子例程的參數列表,這極大地幫助編寫無錯代碼。

使用Excel 2013進行測試。發現時,我好奇地看到發生了什麼事,當我設置一個已安裝加載項(.xlam)的VBA項目的引用時。我沒有看到這個記錄。