2011-01-12 5 views
1

J'ai besoin de créer un fichier xls avec ses propres données. Mais le fichier peut déjà être créé et ouvert par l'utilisateur.Obtenir tous les documents Excel ouverts

(1) Si le fichier existe pas: nouvelle ApplicationClass() Workbooks.Add() SaveAs() ...

(2) Si le fichier existe et non ouvert: pas le problème - goto (1 (3) si le fichier existe et est ouvert par l'utilisateur: besoin de trouver le classeur et de reformer les données de la feuille de calcul.

Avec (3) j'ai un problème. Marshal.GetActiveObject ("Excel.Application") n'a trouvé que le classeur actif.

+0

Marshal.BindToMoniker m'a aidé –

Répondre

3

Je sais qu'il est trop tard pour vous répondre, mais peut être utile à quelqu'un d'autre.

Microsoft.Office.Interop.Excel.Application oExcelApp; 

oExcelApp = System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application"); 

foreach (Microsoft.Office.Interop.Excel.Workbook WB in oExcelApp.Workbooks) { 
    MessageBox.Show(WB.FullName); 
} 

oExcelApp = null; 
Questions connexes