excel save and save as相關檔案存取問題 |
答題得分者是:senso
|
tkukof
一般會員 發表:2 回覆:4 積分:1 註冊:2009-09-15 發送簡訊給我 |
//以下程式為小弟在板上找到的 //第一次發文,請海涵 //目的為使用者開啟存檔視窗 //假如有檔案已存在就會覆蓋 //之後在次開啟檔案寫入再次儲存 bool savepath=false; if (SaveDialog1->Execute()) //目的為使用者開啟存檔視窗 { savepath=true; Variant Excel,Workbooks,Workbook; Variant Worksheets,Worksheet, Range, Cell, FColumns, Format, Item; Excel=CreateOleObject("Excel.Application"); Excel.OlePropertySet("Visible", true); // 設為 false 則不可見 // 產生 workbooks 跟 workbook 物件. Workbooks=Excel.OlePropertyGet("Workbooks"); Workbook=Workbooks.OleFunction("Add"); // 產生 worksheets 跟 worksheet 物件. Worksheets=Workbook.OlePropertyGet("Worksheets"); Worksheet=Worksheets.OlePropertyGet("Item", 1); Workbook.OleFunction("SaveAs",SaveDialog1->FileName.c_str()); //假如有檔案已存在就會覆蓋,想問如何知道有沒有檔案存在 Excel.OlePropertySet("Visible",false); Excel.OleFunction("Close"); //這裡會出錯 Excel.OleFunction("Quit"); } if (savepath) { Variant Excel,Workbooks,Workbook; Variant Worksheets,Worksheet, Range, Cell, FColumns, Format, Item; Excel=CreateOleObject("Excel.Application"); Excel.OlePropertySet("Visible", true); Workbooks=Excel.OlePropertyGet("Workbooks"); Workbook=Workbooks.OleFunction("Open", (SaveDialog1->FileName.c_str())); // 將該Excel 檔的 Worksheets 設給變數 Worksheets. Worksheets=Workbook.OlePropertyGet("Worksheets"); // 將 Worksheets 的第2 個 worksheet 設給變數 Worksheet. Worksheet=Worksheets.OlePropertyGet("Item", 1); // 取得第 (2,3) 個 cell. Cell=Worksheet.OlePropertyGet("Cells", 2, 3); Cell.OlePropertySet("Value", "CrazyStar"); // 設定它的文字內容為 "CrazyStar". Excel.OleFunction("Save"); //之後在次開啟檔案寫入再次儲存,也會出錯, //會問是否要覆蓋一個EXCEL檔案 Excel.OlePropertySet("Visible",false); Excel.OleFunction("Close"); Excel.OleFunction("Quit"); }
------
偶肉肉 |
herbert2
尊榮會員 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
|
tkukof
一般會員 發表:2 回覆:4 積分:1 註冊:2009-09-15 發送簡訊給我 |
|
herbert2
尊榮會員 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
|
tkukof
一般會員 發表:2 回覆:4 積分:1 註冊:2009-09-15 發送簡訊給我 |
|
tkukof
一般會員 發表:2 回覆:4 積分:1 註冊:2009-09-15 發送簡訊給我 |
|
senso
高階會員 發表:5 回覆:126 積分:226 註冊:2003-11-27 發送簡訊給我 |
Excel.OleFunction("Close");
換成 Workbooks.OleFunction("Close"); 這邊應該是關檔案還沒關Excel吧,所以用Workbooks(全book都關掉,若用Workbook則只有關掉指定的那個book) 再補充一下 Excel.OleFunction("Save"); //之後在次開啟檔案寫入再次儲存,也會出錯, 應該是 Workbook.OleFunction("Save");
編輯記錄
senso 重新編輯於 2009-09-17 09:04:51, 註解 無‧
|
tkukof
一般會員 發表:2 回覆:4 積分:1 註冊:2009-09-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |