返回列表 上一主題 發帖

[發問] 開其他檔時(使其Workbook_Open巨集 失效)僅能唯讀

[發問] 開其他檔時(使其Workbook_Open巨集 失效)僅能唯讀

請教各位大大
Private Sub CommandButton2_Click()
    Sheets("sh1").Cells.Clear
    With CreateObject(ThisWorkbook.Path & "\" & "207班.xls")
        .使 "207班.xls" 的Workbook_Open巨集  失效
         .Sheets("sh1").Cells.Copy Sheets("sh1").Cells(1, 1)
         .Close True
    End With
    Application.Visible = False
End Sub
因為"  207班.xls"  本身含有巨集   Private Sub Workbook_Open()
如何  使 "207班.xls" 的巨集  失效 ?

謝謝指導

本帖最後由 GBKEE 於 2014-4-6 08:31 編輯

回復 1# yangjie
  1. Application.EnableEvents = False
複製代碼
工作表視窗上開啟舊檔案時按住 Shift 鍵,亦可
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 2# GBKEE
完全解決  謝謝GBKEE版大
再請教 原始第一 個.xls檔開啟時   Sub Workbook_Open() 應加入???
              使其以唯讀方式開啟!(但巨集仍能使用 因為僅用於查詢)
Private Sub Workbook_Open()
    'Call MakeMenu
    唯讀???
    Application.Visible = False
    Call myForm1
End Sub

TOP

回復 3# yangjie
  1. Sub Ex()
  2.     Dim WB As Workbook, V As Object
  3.     Application.EnableEvents = False
  4.     Set WB = Workbooks.Open(Filename:=ThisWorkbook.Path & "\" & "207班.xls", ReadOnly:=True)
  5.     With WB
  6.             'VBProject 物件,該物件代表指定活頁簿中的 Visual Basic 專案。唯讀。
  7.         For Each V In .VBProject.VBComponents
  8.             'VBComponents 屬性 傳回包含在一個專案中的元件的集合物件。
  9.           V.CodeModule.DeleteLines 1, V.CodeModule.CountOfLines
  10.             '刪除 程式碼
  11.         Next
  12.    End With
  13.        Application.EnableEvents = True
  14. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 【是否發揮了良能?】人間壽命因為短暫,才更顯得珍貴。難得來一趟人間,應問是否為人間發揮了自己的良能,而不要一味求長壽。
返回列表 上一主題