2017-04-24 340 views
-1

我創建了許多單元測試。在每次測試開始時,我在TestInitialize上打開一個空白的Excel工作簿,但是對於這個特殊測試,我需要打開另一個Excel工作簿。我想在打開TestInitialize的空白工作簿中打開它。我嘗試了以下操作,但它將它們作爲2個獨立的工作簿打開。使用Marshal.GetActiveObject在空白的Excel工作簿中打開Excel工作簿

任何想法爲什麼會發生這種情況?

我的代碼如下

using xl = Microsoft.Office.Interop.Excel; 
    private static string columnChartTemp = @"Testing\V8\TestMaster\V8.6\Testing\V8.6.0.11 Testing\columnChart.xlsx"; 
    var excel = (xl.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application"); 
    var myWorkbook = excel.Workbooks.Open(columnChartTemp); 
    excel.Visible = true; 
+0

你想打開一個新的工作簿,或只是一個新的標籤? – vipersassassin

+0

@vipersassassin我想打開一個工作簿 –

+0

然後它會一直打開一個單獨的工作簿。如果將其作爲選項卡添加到當前工作簿中,這將成爲將其保存在先前打開的工作簿中的唯一方法。 – vipersassassin

回答

0

的工作簿是包含一個或多個工作表文件(製表符。)你不能打開另一個工作簿內的工作簿。

聽起來好像您想要將工作表中的工作表添加到其他工作簿中。你可以做到這一點。打開兩個工作簿並將工作表從一個複製到另一個。