如何處理 目前正在執行中的EXCEL,讀取某cell的值? |
尚未結案
|
brook
資深會員 發表:57 回覆:323 積分:371 註冊:2002-07-12 發送簡訊給我 |
|
brook
資深會員 發表:57 回覆:323 積分:371 註冊:2002-07-12 發送簡訊給我 |
己測出來了,有兩種方式可以用
1.用DDE // 直接存取 EXCEL 裡的資料 // 當Excel執行兩次,只要sheet名稱不同,則可要到資料 DdeClientItem1->DdeConv=DdeClientConv1; DdeClientConv1->SetLink("excel","Sheet1"); try { DdeClientConv1->OpenLink(); DdeClientItem1->DdeItem= "R1C1"; //A1 DdeClientConv1->PokeData(DdeClientItem1->DdeItem,"test"); DdeClientItem1->DdeItem= "R1C1:R1C5"; //A1:A5 AnsiString ss = DdeClientConv1->RequestData(DdeClientItem1->DdeItem) ; ShowMessage(ss); DdeClientConv1->CloseLink(); } catch(...){} 2.和讀execel檔差不多,只修改部份指令. Variant FExcel; Variant FWorkBooks; Variant FWorkBook; Variant FWorkSheets; Variant FWorkSheet; Variant FColumns; Variant FCells; Variant FCell; try { // FExcel = CreateOleObject("Excel.Application"); FExcel = GetActiveOleObject("Excel.Application"); FExcel.OlePropertySet("Visible",true); try { FWorkBooks = FExcel.OlePropertyGet("Workbooks"); // FWorkBook = FWorkBooks.OleFunction("Open","D:\\1.XLS"); FWorkBook = FExcel.OlePropertyGet("ActiveWorkbook"); // FWorkBook = FWorkBooks.OlePropertyGet("Item",1); FWorkSheets = FWorkBook.OlePropertyGet("Worksheets"); FWorkSheet = FWorkSheets.OlePropertyGet("Item",1); //跳至頁面第一頁 FCells = FWorkSheet.OlePropertyGet("Cells"); FCell = FCells.OlePropertyGet("Cells",1,2); AnsiString ss = AnsiString(FCell); ss = ss; // FCell.OlePropertySet("Value","AAA"); // FExcel.OleFunction("Quit"); } catch(...){} } catch(...){} |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |