gpt4 book ai didi

vba - 将 "ThisWorkbook"宏导入到另一个工作簿

转载 作者:行者123 更新时间:2023-12-02 17:36:59 25 4
gpt4 key购买 nike

我需要 VBA 代码将过程导入到另一个工作簿内的 ThisWorkbook 范围。

我有代码将模块导入到另一个工作簿中,但如何将此过程导入到 ThisWorkbook 范围而不是模块范围中?

Sub TransferModule()
Const modul As String = "Misc"
Const tempfile As String = "/Users/Roman/Desktop/temp.bas"

Dim WBK As Workbook

On Error Resume Next

Set WBK = Workbooks.Add

ThisWorkbook.VBProject.VBComponents(modul).Export tempfile

WBK.VBProject.VBComponents.Import tempfile

Kill tempfile
End Sub

这将从“此”工作簿中获取模块Misc,将其导出到temp.bas,然后将其导入到另一个工作簿。但是,我需要它不是导入到模块中,而是导入到 ThisWorkbook 范围中。这是一个 Private Sub Workbook_BeforeClose 事件。

最佳答案

而不是使用以下内容创建新工作簿:

Set WBK = Workbooks.Add

考虑使用类似的东西:

Sub lkjhgf()
ThisWorkbook.SaveCopyAs ("C:\Users\Garys\Desktop\new.xlsm")
End Sub

新创建的工作簿将包含原始工作簿的所有 ThisWorkbook 代码。

(当然,您可能需要进行更多清理工作以删除不需要复制的内容。)

编辑#1:

请参阅 Vogelaar 的回答:

Loading a subroutine into "ThisWorkbook" using VBA

关于vba - 将 "ThisWorkbook"宏导入到另一个工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46584030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com