2017-10-09 71 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 
相關問題