2017-04-24 1 views
-1

J'ai créé un certain nombre de tests unitaires. Au début de chaque test, j'ouvre un classeur vierge Excel sur le TestInitialize mais pour ce test particulier, j'ai besoin d'ouvrir un autre classeur Excel. Je veux l'ouvrir dans le classeur vide ouvert sur le TestInitialize. J'ai essayé de faire ce qui suit mais il les ouvre comme 2 classeurs séparés.Ouvrez un classeur Excel dans un classeur Excel vide à l'aide de Marshal.GetActiveObject

Des idées pour lesquelles cela se passe?

Mon code est le suivant

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

essayez-vous d'ouvrir un nouveau classeur, ou juste un nouvel onglet? – vipersassassin

+0

@vipersassassin J'essaie d'ouvrir un classeur –

+0

Ensuite, il ouvrira toujours un classeur distinct. Si vous 'ajoutez' au classeur en cours sous la forme d'un onglet qui serait le seul moyen de le conserver dans le classeur précédemment ouvert. – vipersassassin

Répondre

0

Un classeur est un fichier contenant une ou plusieurs feuilles de calcul (onglets). Vous ne pouvez pas ouvrir un classeur à l'intérieur d'un autre classeur.

Il semble que vous souhaitiez prendre une feuille de calcul dans un classeur et l'ajouter à un autre classeur. Vous pouvez le faire. Ouvrez les deux classeurs et copiez la feuille de l'un à l'autre.