VBA 从 .XLSX 复制 sheet 并将其插入 .XLA 文件

VBA copy sheet from a .XLSX and insert it into a .XLA file

我正在尝试从 .XLSX 文件中复制 Sheet 作为 .XLA 文件中的隐藏 sheet。

我只能从 .XLA -> XLSX 复制,但不能从 XLSX -> XLA 复制。

看看我的两个函数:

Sub copyFromXLAtoXLSX()
    temp.Sheet1.Copy Workbooks(1).Sheets(1)  
End Sub

Sub copyFromXLSXtoXLA()
    ' It gives me the error: Run-time error '1004': Application-defined or object-defined error  
    Workbooks(1).Sheets(1).Copy temp.ThisWorkbook.Sheets(1)  
End Sub

非常欢迎任何帮助。谢谢!

只要 .IsAddIn=True 就无法访问 XLA sheet 的集合以添加新的 sheet。尝试将 XLA 工作簿设置为 .isAddIn = False,制作副本,然后将其设置回 True

我觉得应该是(待测):

Sub copyFromXLSXtoXLA()
    Workbooks(1).IsAddIn = False '<-- set it false
    Workbooks(1).Sheets(1).Copy temp.ThisWorkbook.Sheets(1)  
    Workbooks(1).IsAddIn = True '<-- set it back to true
End Sub