VBA复制模块从一个工作簿到另一个

您好,感谢您阅读我的问题。 我正在尝试创build一个自动脚本,将模块从一个工作簿导出到另一个新的工作簿

ThisWorkbook.Activate ActiveWorkbook.VBProject.VBComponents("Coexis_BitAND").Export ("c:\Coexis_BitAND.bas") wbNew.Activate ActiveWorkbook.VBProject.VBComponents.Import ("c:\Coexis_BitAND.bas") 

但是,当我一步步通过代码步骤命中“ActiveWorkbook.VBProject.VBComponents(”Coexis_BitAND“)。导出(”c:\ Coexis_BitAND.bas“)”它跳转到我的OnError转到之一。

我已经读过了,可以做到这一点,但还没有find有用的东西,我相信它必须是一些简单的东西,比如我缺乏VBA的经验

假设两本书都是同时打开的,试试看

 Dim comp as VBComponent Set comp = ThisWorkbook.VBProject.VBComponents("Coexis_BitAND") Workbooks("otherWorkbookName").VBProject.VBComponents.add comp 

在编程VBIDE时,有些时候你不能单步执行代码。 即使你的代码是100%,它会在步骤错误。

在你出错的地方放置一个Stop,然后让它跑到Stop。 如果它仍然与您的代码一起发生错误。 你可以validation你的代码对芯片function:

这是我发现的工作,从原来的答复,感谢所有的帮助。

  If DUTs = 0 Then '----- WARNING VBA Macro Settings must Trust access to VBA Project Object Models. '----- Antivirus may detect this action and delete this file! filePath = ActiveWorkbook.Path ThisWorkbook.Activate ActiveWorkbook.VBProject.VBComponents("Coexis_BitAND").Export (filePath + "\Coexis_BitAND.bas") wbNew.Activate ActiveWorkbook.VBProject.VBComponents.Import (filePath + "\Coexis_BitAND.bas") End If