Ich habe ein Excel-Add-In geschrieben, das beim Drücken einer Taste den Inhalt einiger Zellen ändert. Jetzt wollte ich die Funktionalität hinzufügen, um die Arbeitsmappe in einer neuen Datei zu speichern, nachdem diese Ersetzungen stattfanden.Excel-Arbeitsmappe in VSTO-Addin speichern C#
Hier ist mein Ziel und irgendwie funktioniert das nicht ganz so, wie ich es mir vorgestellt habe.
Dies ist der Code die Datei in meinem ThisAddIn.cs zu speichern:
public static void saveasnewfile()
{
Globals.ThisAddIn.Application.ActiveWorkbook.SaveCopyAs(@"C:\XXXX.XLS");
}
Und das ist, wie ich diese Funktion aufrufen (sagen wir, wenn eine Taste gedrückt wird):
//...
ThisAddIn.saveasnewfile();
//...
Jetzt Wenn ich diese Taste drücke, erhalte ich folgende Fehlermeldung:
Microsoft Excel kann nicht auf die Datei 'C: \ XXXX.XLS' zugreifen. Es gibt verschiedene mögliche Gründe:
• Der Dateiname oder Pfad existiert nicht. • Die Datei wird von einem anderen Programm verwendet. ? Die Arbeitsmappe, die Sie speichern möchten, hat denselben Namen wie eine aktuell geöffnete Arbeitsmappe.
Das scheint mir irgendwie seltsam. Natürlich existiert die Datei nicht, da ich sie erstellen möchte ...
Also was fehlt mir hier?
Ich möchte die Funktionalität hinzufügen, um den Benutzer zu einem Pfad mit einem savefiledialog später aufzufordern. So gibt es einige Tipps, würde auch helfen :)
Sind Sie wirklich versuchen, in die Wurzel von C schreiben :? – rene
Zu Testzwecken ja. –
Versuchen Sie einen Ordner, sagen Sie C: \ Temp oder einen anderen Ordner, den Sie erstellt haben. – rene