excel 仅在打开另一个也包含VBA代码的文件时运行我的代码

uxhixvfz  于 2023-02-25  发布在  其他
关注(0)|答案(1)|浏览(151)

我有一个Excel VBA(A)我每天运行的代码。正常的过程是打开一个excel(B)保存在同一个文件夹中,对它做一些格式修改,然后用新名称重新保存。问题是现在这个新的excel(B)也有一些所有者正在用于其他目的的VBA代码,当我使用我的VBA代码打开文件B时,宏还试图运行已经在文件B上的代码。2我希望我的代码忽略它。3我一直在手动打开文件B并删除代码,但我确信有更好的方法。4我感谢您的帮助

aor9mmx1

aor9mmx11#

请尝试下一种方法:

Sub openWBEventsDisable_deleteCode()
   Dim wb As Workbook, wbFullName As String
   
    wbFullName = "workbook to be open full name" 'use here the workbook to be open full name
    
    Application.EnableEvents = False 'this does not allow the Open event to be triggered
      Set wb = Workbooks.Open(wbFullName)
    Application.EnableEvents = True
    
    Dim VBCompTarget As Object
    Set VBCompTarget = wb.VBProject.VBComponents("ThisWorkbook")
    
    With VBCompTarget.CodeModule
        .DeleteLines 1, .CountOfLines 'delete existing code, if any
    End With
    
    'do whatever you usually do...
End Sub

相关问题