2012-03-26 13 views
0

Ich habe diesen Code:GetSaveAsFilename Methode Excel nicht speichern meine Datei

 app = new Application(); 
     app.Visible = false; 
     workbook = app.Workbooks.Add(1); 
     worksheet = (Worksheet)workbook.Sheets[1]; 
     worksheet.Name = "TEST"; 
     doSomethingInXLS(); 

     app.GetSaveAsFilename("TEST", "Excel (*.xls), *.xls", 1, "Save TEST", Missing.Value); 

Wenn ich setzen Visible = true dann kann ich sehen, die excell korrekt erzeugt wird, aber wenn ich rufe die Methode GetSaveAsFilename, die Speichern Dialog zeige mir, aber die Datei wird nicht gespeichert, warum?

+0

Sie rufen einfach Funktion von comdlg32.dll, die tatsächlich eine Datei nicht speichert, zeigt nur UI :) – rkosegi

Antwort

3

Denn das ist, was die Methode tut:

„Zeigt das Standarddialogfeld Speichern unter und erhält einen Dateinamen aus den Benutzer, ohne tatsächlich alle Dateien zu speichern.“

http://msdn.microsoft.com/en-us/library/aa195748%28v=office.11%29.aspx

die Datei speichern Sie den Dateinamen erhalten sollte, dass die Methode zurückgibt und dass die Arbeitsmappe speichern verwenden.