2016-04-05 305 views
0

感謝您閱讀我的問題。我試圖創建一個自動化的腳本,導出一個模塊從一個工作簿到另一個新的工作簿將VBA從一個工作簿複製到另一個工作簿

  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」 ).Export(「c:\ Coexis_BitAND.bas」)「它跳轉到我的OnError Goto的一個。

我讀過這是可以做到這一點,但還沒有找到東西的作品,我敢肯定,它必須是一些簡單的像我缺乏經驗,VBA

+0

什麼是你的宏安全性** **信任設置(S)** ** ??它 –

+0

說禁用與通知 –

+0

和Turst訪問所有宏是VBA項目對象模型是選中 –

回答

0

有些時候你不能一步在編程VBIDE時通過代碼。即使你的代碼是100%,它也會在步驟上出錯。

在您出錯的地方設置一個停止點&讓它運行到停止點。如果它仍然對您的代碼造成錯誤。你可以檢查你的代碼對Chips功能:

1

假設兩個工作書是在同一時間開放,讓這個嘗試

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

是的,甚至可能需要在VBComponent前添加VBIDE。所以它看起來像VBIDE.VBComponent – ShaggyRogers

+0

也許,但我一直沒有它的工作。 – Gerneio

+0

Option Explicit似乎是變量。沒有它VBComponent是好的。有了它,你需要添加VBIDE部分。 – ShaggyRogers

0

這是我找到的工作,從原來的答案,謝謝所有的幫助。

 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 
相關問題