This project has moved. For the latest updates, please go here.

Sheets.Add Problem

Jul 27, 2013 at 7:15 PM
Hello Sebastian and reader,

I have a little problem adding a new sheet. With Microsoft.Office.Interop I added a new sheet in this way:
oXL = New Excel.Application
...
oXL.Sheets.Add(After:=oXL.Sheets(oXL.Sheets.Count))

After migration to NetOffice Intellicense told me:
"After" ist kein Parameter von "Public Function Add(before As Object) As Object".

oXL.Sheets.Add() works fine but a new table created this way has the wrong position. The new sheet is the new first sheet of the workbook, but I need the new sheet at last position.

How can I solve the issue?

Thanks,
Haro
Jul 27, 2013 at 8:01 PM
Okay, i figured out a solution:

oXL.Sheets.Add(before:=Nothing, after:=oXL.Sheets(oXL.Sheets.Count))
or
oXL.Sheets.Add(before:=Nothing, after:=oXL.Sheets(oXL.Sheets.Count), count:=2) '2 blank sheets

works very well.

greetz,
Haro
Coordinator
Jul 28, 2013 at 3:14 AM
NetOffice unterstützt derzeit keine optionalen/benannten Parameter da es in C# geschrieben ist und auch mit früheren .NET Versionen kompatibel sein will wo C# diese Fähigkeit noch nicht hatte. Ausserdem würde das Konzept der Attribute und Quellcodekommentare mit Hinweisen zur Versionsunterstützung dann nicht mehr funktionieren. Deswegen stellt NO für Methoden/Properties mit optionalen Parametern die entsprechende Anzahl an Überladungen bereit.

Sebastian