您的位置:首頁>正文

VBA|任意工作簿運行VBA過程(通用宏、載入項、自訂功能區)

一般來說, 工作簿中編寫好VBA代碼後, 為了保證下次打開該工作簿時可以繼續運行VBA代碼, 需要將工作簿另存為.xlsm文件, 如下圖所示:

通常, 一個.xlsm中的VBA過程只能在該工作簿中使用。 現在的問題是, 任意新建一個工作簿, 如何在其它工作簿中運行已經在某一工作簿中編寫的VBA代碼?可以考慮的方法有:

I 保存為通用宏(XLSTARTPersonal.xlsb);

II 保存並調用載入項;

III 自訂功能區;

以上三個方法現分述如下:

1 保存為通用巨集

個人巨集工作簿是一個自動啟動的Excel檔, 你可以用這個Excel檔保存經常使用的資料或者巨集, 例如你可以將你經常要使用到的例子或者反復使用的巨集保存到個人巨集工作簿中, 這就相當於一個巨集範本。 個人宏工作簿可以為.xlsb格式, 默認為Personal.xlsb檔, 也可以直接創建.xlsx檔作為個人宏工作簿。

在一個打開的工作簿中錄製巨集, 即點擊狀態列左下角的宏錄製命令, 在錄製新宏對話方塊中選擇保存在個人宏工作簿。

同時你也可以在Visual Basic編輯器中看到Personal.xlsb的工程。

XLStart資料夾的路徑:

在如果你把Office程式安裝在預設的C盤下, 且是在Vista系統中安裝的Excel 2007, 則檔位置建立在:C:Users用戶名AppDataRoamingMicrosoftExcelXLSTART, 用戶名指的是你登錄系統的帳號或C:Program FilesMicrosoft OfficeOffice12XLSTART;

若是在XP系統中安裝Excel 2007 , 則檔位置建立在:C:Documents and Settings用戶名Application DataMicrosoftExcelXLStart 用戶名指的是你登錄系統的帳號或C:Program FilesMicrosoft OfficeOffice12XLSTART;

在word 2007中如何利用Normal範本共用巨集:

開發工具→巨集→管理器→複製按鈕, 即可將選中的宏複製到normal.dotm(共用範本);

此時打開的VBE的工程管理器視窗即可以看到多了一個normal.dotm的工程, 也可以在其中看到保存的模組;

2 製作載入項

VBA Addin增益集是一種使用VBA編寫的程式, 它通過載入設置, 可以隨Office程式啟動而自動載入運行, 是製作Excel自訂函數、Office功能表和功能區按鈕、添加常用協助工具的常用載體。

在Excel、PPT中都可以編制載入巨集檔案, Word則可以通過範本檔進行載入。 根據版本和程式的不同, 增益集的檔案類型也稍有區別, 在2003版本中, Excel的增益集副檔名是xla、PPT的增益集副檔名是ppa;2007/2010版本中, Excel的增益集副檔名是xlam, PPT的增益集副檔名是ppam。

其中低版本的增益集可以在高版本的程式中使用, 因此, 只要代碼具有通用性, 可以在編制完成保存為低版本的載入巨集檔案, 以便於在不同版本中使用。

它們的檔圖示有別于普通的Excel或PPT文件, 如下圖所示:

載入巨集檔案有預設的存放路徑, 找到這個路徑很容易, 當檔保存選擇“另存為”時, 選擇“載入項類型”, “另存為”對話方塊即可跳到預設的存放路徑。 如C:Userswwuhnwu01AppDataRoamingMicrosoftAddIns。

2.1 包含有宏的工作簿檔另存為xlam文件, 並保存到預設路徑:

工作簿(有宏)另存為→Excel增益集, xlsm文件, 如下圖所示:

3.2 啟用載入項:

Excel選項→載入項→轉到→勾選載入項→確定, 如下圖所示:

3 自訂功能區,將VBA過程關聯到功能表項目或工具圖示

3.1 VBA中自訂功能表命令組、自訂工具列主要是利用CommandBars物件的方法進行添加,添加的自訂功能表命令組和自訂工具列將出現在“載入項”選項卡中。具體細節見:

《VBA|自訂功能表命令組、自訂工具列》

3.2 通過編寫XML代碼來完成定制RibbonX,且將該XML代碼包含到工作簿文件中,以達到定制RibbonX的目的,具體細節見:

《Excel2007|RibbonX控制項 & 自訂功能區》

-End-

3 自訂功能區,將VBA過程關聯到功能表項目或工具圖示

3.1 VBA中自訂功能表命令組、自訂工具列主要是利用CommandBars物件的方法進行添加,添加的自訂功能表命令組和自訂工具列將出現在“載入項”選項卡中。具體細節見:

《VBA|自訂功能表命令組、自訂工具列》

3.2 通過編寫XML代碼來完成定制RibbonX,且將該XML代碼包含到工作簿文件中,以達到定制RibbonX的目的,具體細節見:

《Excel2007|RibbonX控制項 & 自訂功能區》

-End-

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示