Excel-Problem, "PasteSpecial method of Range class failed"
-
Hi, ich bekomme bei folgendem Code einen Fehler an der markierten Stelle, habe keinen Schimmer warum. Absicht des Codes ist ein Worksheet anzulegen, bzw. falls schon vorhanden zu leeren und dann dort was einzufügen (ausm ClipBoard). Eigentlich sollte das funktionieren, aber aus irgendeinem Grund schlägt die PasteSpecial method des Range-Objekts fehl. Vielleicht hat jemand von euch eine Idee. Der Fehler tritt nur auf, wenn das Worksheet "worksheet1" schon vorhanden ist und geleert wird. Ist es nicht da und wird frisch angelegt, funktioniert alles tadellos.
bool wsVorhanden() { for(int i = 1; i <= application.Worksheets.Count; i++) { if (((Worksheet)application.Worksheets[i]).Name == "worksheet1") { ((Worksheet)application.Worksheets[i]).Cells.Clear(); return true; } } return false; } //----------------------------------------------------------------------------- //... (Range aus anderem Sheet kopieren); if (!(wsVorhanden()) { Worksheet worksheet = (Worksheet)application.Worksheets.Add(Missing.Value, application.Worksheets[application.Worksheets.Count], Missing.Value, Missing.Value); worksheet.Name = "worksheet1"; } ((Worksheet)application.Worksheets.get_Item("worksheet1")).Select(true); Range range = application.get_Range("A1", "A1"); range.Select(); [b]range.PasteSpecial(XlPasteType.xlPasteValues, XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, true);[/b]
PS: Code ist normalerweise in Klassen verpackt, hab das jetzt zusammenkopiert, deswegen der miserable Stil.
Hier noch die Exception:
System.Runtime.InteropServices.COMException was unhandled HelpLink="C:\\Programme\\Microsoft Office\\Office12\\1033\\XLMAIN11.CHM" Message="PasteSpecial method of Range class failed" Source="Microsoft Office Excel" ErrorCode=-2146827284
-
Range range = application.get_Range("A1", "A1");
Musst Du hier nicht auf worksheet.get_Range(..) gehen?