Здравствуйте, ssa71, Вы писали:
S>Доброго время суток.
S>Как программного добавить новый лист в Excel на С#. Пытаюсь так:
S>Excel.Application ExeApp;
S> Excel.Workbook MyWb;
S> try
S> {
S> ExeApp=(Excel.Application)Marshal.GetActiveObject("Excel.Application");
S> }
S> catch
S> {
S> ExeApp =new Excel.Application();
S> }
S> try
S> {
S> MyWb = ExeApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
S> MyWb.Worksheets.Add(MyWb.Worksheets[MyWb.Worksheets.Count],0,1,XlWBATemplate.xlWBATWorksheet);
S> ExeApp.Visible = true;
S> }
S> catch (Exception exc)
S> {
S> MessageBox.Show(exc.Message,"");
S> }
S>не проходит. Что ставить вместо After и Before??
По-видимому, не проходит After = 0 (и вообще, по-моему, нельзя указывать и Before и After, даже ненулевые)
У меня на VB.Net работает так
Dim appExcel As New Excel.Application()
Dim wkb As Excel.Workbook
wkb = appExcel.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet)
wkb.Worksheets.Add(wkb.Worksheets(wkb.Worksheets.Count))
' или
wkb.Worksheets.Add(wkb.Worksheets(wkb.Worksheets.Count), , 1, Excel.XlWBATemplate.xlWBATWorksheet)
appExcel.Visible = True