Board logo

標題: [發問] 模組是否能夠不侷限於單一excel檔案 [打印本頁]

作者: a703130    時間: 2012-5-31 17:25     標題: 模組是否能夠不侷限於單一excel檔案

請教各位大大
因為本身工作上的需求
有設計一些模駔,也會時常更新
但是檔案常常會被複製來複製去
而我更新的巨集卻沒有跟到這些檔案

目前我只知道用匯入匯出的方式
將我的巨集載入到別人的檔案

不知道是否有其他方式能夠更簡單達成此效果

例如:執行一個執行檔便能將我release給大家的巨集自動載入到大家的excel檔案裡

我的問題用文字敘述似乎比較難讓人理解..
也希望大大能夠解答
如果有大大不懂得我的意思~也請詢問
謝謝
作者: HUNGCHILIN    時間: 2012-5-31 21:54

這則大概只能看看
http://forum.twbts.com/redirect. ... o=lastpost#lastpost
作者: alumi    時間: 2012-6-1 00:40

本帖最後由 alumi 於 2012-6-1 00:51 編輯

回復 1# a703130


    上面的大大,可能誤會原 PO 文者的意思.

    就是如何讓 VBA 的模組, 變成是公用的 Library, 而不是隨著 Excel 檔案, 四處漂流.

    我的土方法是 異動 Personal.xls (裡含您所寫的 VBA)
作者: GBKEE    時間: 2012-6-1 07:23

本帖最後由 GBKEE 於 2012-6-1 07:25 編輯

回復 3# alumi
  1. '建立一模組名稱為主程式內的程序
  2. Option Explicit
  3. Private Sub Auto_Open()              '檔案開啟時自動執行的程式
  4.     Dim xlvbe As Variant, xlArray(), xlPath As String
  5.     xlPath = "D:\模組區\"                                   '模組存放路進
  6.     xlArray = Array("模組1.bas", "模組2.bas", "模組3.bas")  '陣列:更新的模組
  7.     With ThisWorkbook.VBProject
  8.         For Each xlvbe In .VBComponents
  9.             If xlvbe.Name <> "主程式" And xlvbe.Type = vbext_wt_Designer Then  'xlVba.Type = 1 模組
  10.                 .VBComponents.Remove xlvbe             '移除所有模組 不包含"主程式"
  11.             End If
  12.         Next
  13.         For Each xlvbe In xlArray
  14.             If Dir(xlPath & xlvbe) <> "" Then .VBComponents.Import xlPath & xlvbe
  15.             'Import 匯入模組
  16.         Next
  17.     End With
  18. End Sub
複製代碼

作者: Hsieh    時間: 2012-6-1 08:25

回復 1# a703130

這類的公共程式做成增益集
到須要使用這些程式的電腦安裝增益集即可
作者: a703130    時間: 2012-6-14 19:07

回復 4# GBKEE

多謝大大指導

抱歉這麼晚才回覆文章




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)