[ Sandra_G @ 06.02.2006. 11:29 ] @
Prikazujem SaveFileDialog, korisnik specificira naziv fajla i gde ce sacuvati fajl. Kada klikne na Save button, u kodu imam SaveAs metodu koja bi trebalo da sacuva excel, pa ja posle nesto drugo radim sa tim fajlom itd. Kod za SaveAs metodu je sledeci:

this.SaveAs(fileName, Excel.XlFileFormat.xlXMLSpreadsheet, missing, missing, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, missing, false, missing, missing, true);

Sto je najbolje, ne javi nikakvu gresku, nikakav exception. Ali, jednostavno se xls fajl ne pojavi na zadatoj putanji. Ima li iko pojma zasto?
[ mirdraal @ 08.02.2006. 11:21 ] @
Nisam siguran da je ovo resenje
ALi iz mog ranijeg iskustva u radu sa Excelom , nevezano za .net
Da bi snimio neki dokument treba pozavti Metod SAveAs nad objektom Workbook a ne nad objectom excel .

Cod bi trebalo da je slican ovom

Code:
Microsoft.Office.Interop.Excel.Application.ActiveWorkbook.SaveAs(....)


Kao sto rekoh nisam siguran za ispravnost koda ali sam siguran da metod saveas treba pozavti nad objectom Workbook
[ Sandra_G @ 08.02.2006. 11:30 ] @
this.SaveAs(...) se upravo odnosi na ThisWorkbook.SaveAs(...)... Tako da... ti jesi u pravu, ali to je to :) i ne radi... :( Mislim, ja sam problem resila pomocu metode SaveCopyAs(fileName), ali zaista me interesuje zasto SaveAs nece da radi.
[ djordjeno @ 09.02.2006. 18:26 ] @

Evo deo koda iz C++.Net koji radi sa SaveAs funkcijom.

// show dialog for saving name
if (saveFileDialog->ShowDialog() == DialogResult::OK)
{
workBook->SaveAs( saveFileDialog->FileName, Missing::Value, Missing::Value, Missing::Value,Missing::Value, Missing::Value, Interop::Excel::XlSaveAsAccessMode::xlShared ,Missing::Value,
Missing::Value, Missing::Value, Missing::Value );

// show file name
textBoxSourcePath->Text = saveFileDialog->FileName;
}

Ovo radi ali se prethodno mora imati kreiran workBook objekat.

Treba imati u vidu koja sa biblioteka koristi. SaveAs u jednoj (Excel XP) ima 12 parametara a u drugoj (Excel 2003) cini mi se 15 ili tako nesto. Nemojte me drzati za rec.

Pozdrav