返回列表 上一主題 發帖

[問題]如何是用另用一個excel file的巨集,而不需要開啟此excel file

本帖最後由 GBKEE 於 2011-12-22 16:36 編輯

回復 1# jarodz
加入一般模組 名稱為"Module1"  檔案開啟後自動執行Auto_Open程序  另存檔案名稱, 原檔案就不會開啟.
  1. Option Explicit
  2. Private Sub Auto_Open()
  3.     ThisWorkbook.SaveAs CurDir & "\" & Split(ThisWorkbook.Name, ".")(0) & "備份"    '另存檔案名稱
  4.     With ThisWorkbook.VBProject
  5.         .VBComponents.Remove .VBComponents("Module1")    ' 刪除  Module1 模組
  6.     End With
  7. End Sub
複製代碼

TOP

回復 3# jarodz
我想作的是類似增益集,(我已經知道如何把一般xls弄成增益集) 但不知如何在新建的excel中 call 這個增益集裡的Sub routine
Run "這個增益集!routine"

TOP

回復 5# jarodz
複製到一般模組中
  1. Private Sub Auto_Open()
  2.     Dim newcontrl As CommandBarControl
  3.     Application.CommandBars.ActiveMenuBar.Reset
  4.       Set newcontrl = Application.CommandBars.ActiveMenuBar.Controls.Add(10)
  5.         With newcontrl
  6.         .Caption = "控制鈕"
  7.     End With
  8.     Set A = newcontrl.Controls.Add(1)
  9.             A.Caption = "本機使用者"
  10.             A.OnAction = "EX"
  11.      Set A = newcontrl.Controls.Add(1)
  12.             A.Caption = "本機資訊"
  13.             A.OnAction = "EX1"
  14. End Sub
  15. Private Sub Auto_Close()
  16.     Application.CommandBars.ActiveMenuBar.Reset
  17. End Sub
  18. Private Sub Ex()
  19.     MsgBox "使用者 : " & Application.UserName
  20. End Sub
  21. Private Sub Ex1()
  22.     MsgBox "Welcome to Microsoft Excel version " & _
  23.     Application.Version & " running on " & _
  24.     Application.OperatingSystem & "!"
  25. End Sub
複製代碼

TOP

回復 7# jarodz
Workbook_Open() 是ThisWorkbook的預設事件  優先   Auto_Open() ( 於一般模組 )
其他預設事件 如圖:

TOP

回復 9# jarodz
一般module可以用的event
就AUTP_OPEN , AUTO_CLOSE 這2個,如果還有請知道的分享,

TOP

        靜思自在 : 待人退一步,愛人寬一寸,就會活得很快樂。
返回列表 上一主題