2017-10-09 86 views
0

是否可以将打开的工作簿转移到另一个Excel实例?即'重新教育'一个开放的工作簿,没有关闭和重新开放?将打开的工作簿从一个Excel实例转移到另一个实例

我想这样做的原因是为一个特定的工作簿有一个单独的实例。当该工作簿打开时,它可以创建一个新的Excel实例,然后我希望以某种方式将该工作簿添加到其他应用程序Workbooks集合中,同时将其从原始集合中删除。

这样做的目的是让我可以运行模态表单应用程序,同时仍然保留使用Excel的能力。例如,我想以编程方式将数据复制到剪贴板,同时让用户将其粘贴到另一个工作簿中。

使得原来的形式应用非模式是不是一个解决办法,因为这是一个要求(我们去阐述长度保持普通用户从工作表,只用密码关闭形式。)

对于上下文,我尝试使用相同的工作簿打开另一个实例,然后关闭,但是这对新打开的工作簿是只读的。 (还有其他一些原因,为什么这不起作用。)

回答

0

如以下代码所示,您可以在另一个Excel实例中访问工作簿并对其进行操作。

Dim xlApp As Excel.Application 
Dim Wb As Workbook 
Dim xlApp2 As Excel.Application 
Dim Wb2 As Workbook 

Set Wb = ActiveWorkbook 
Set xlApp = Wb.Parent 

Set xlApp2 = New Excel.Application 
Set Wb2 = xlApp2.Workbooks.Open("E:\My Documents\Weekly Report.xlsx") 

Wb.Worksheets("Target").Cells(1, 1).Value = Wb2.Worksheets(1).Cells(4, 1).Value 
相关问题