將一個Excel的某個Range copy-->Paste至另一個Excel file中 |
答題得分者是:老大仔
|
mnsf
初階會員 發表:104 回覆:90 積分:48 註冊:2003-11-25 發送簡訊給我 |
如果將某個Excel file中的sheet1的Range[A1:A7] copy -->
paste 至同一個Excel file的sheet2的Range[A1:A7] 語法如下: var FMsExcel,WorkSheet,WorkSheet1,WorkSheet2:variant ; begin FMsExcel := CreateOleObject('Excel.Application'); FmsExcel.Application.workbooks.open('c:\1.xls'); WorkSheet1:= FMSExcel.WorkSheets[1]; WorkSheet2:= FMSExcel.WorkSheets[2]; WorkSheet1.range['A1','A7'].select; FMsExcel.selection.copy; WorkSheet2.select; WorkSheet2.range['A1'].select; FMsExcel.Selection.PasteSpecial(xlPasteValues,xlNone,False,False ); FMSExcel.Application.visible := True ; end; 但如果是將某個Excel file中的sheet1的Range[A1:A7] copy --> paste 至另一個Excel file的sheet2的Range[A1:A7] 那要怎麼寫呢? |
老大仔
尊榮會員 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
既然都知道怎麼在Excel複製、貼上了 那麼將資料貼到另一個Excel怎麼不會呢? 只要再宣告個第二組變數(Ex: FMsExcel_2....) 然後再開啟另一個Excel檔 然後就依樣畫葫蘆的貼上不就得了 :p ===================引 用 mnsf 文 章===================如果將某個Excel file中的sheet1的Range[A1:A7] copy --> paste 至同一個Excel file的sheet2的Range[A1:A7] 語法如下: var FMsExcel,WorkSheet,WorkSheet1,WorkSheet2:variant ; begin FMsExcel := CreateOleObject('Excel.Application'); FmsExcel.Application.workbooks.open('c:\1.xls'); WorkSheet1:= FMSExcel.WorkSheets[1]; WorkSheet2:= FMSExcel.WorkSheets[2]; WorkSheet1.range['A1','A7'].select; FMsExcel.selection.copy; WorkSheet2.select; WorkSheet2.range['A1'].select; FMsExcel.Selection.PasteSpecial(xlPasteValues,xlNone,False,False ); FMSExcel.Application.visible := True ; end; 但如果是將某個Excel file中的sheet1的Range[A1:A7] copy --> paste 至另一個Excel file的sheet2的Range[A1:A7] 那要怎麼寫呢? |
mnsf
初階會員 發表:104 回覆:90 積分:48 註冊:2003-11-25 發送簡訊給我 |
Hi 大大,感謝你的回覆,
我在發文前,就有做過你所謂的"依樣畫葫蘆"的動作, 但就是因為試不出來,所以才發文的。 程式碼如下,但執行時,會出現"Class Range 的 PasteSpecial方法失敗"的錯誤訊息。 var FMsExcel,WorkSheet,WorkSheet1,WorkSheet2:variant ; FMsExcel2:variant; begin FMsExcel := CreateOleObject('Excel.Application'); //開啟Excel Application FmsExcel.Application.workbooks.open('c:\1.xls'); //開啟已存在Excel File WorkSheet1:= FMSExcel.WorkSheets[1];//COA FMsExcel2 := CreateOleObject('Excel.Application'); //開啟Excel Application FmsExcel2.Application.workbooks.open('c:\2.xls'); //開啟已存在Excel File WorkSheet2:= FMSExcel2.WorkSheets[1];//COA WorkSheet1.range['A1','A7'].select; FMsExcel.selection.copy; WorkSheet2.select; WorkSheet2.range['B1'].select; FMsExcel2.Selection.PasteSpecial(xlPasteValues,xlNone,False,False ); FMSExcel.quit; FMSExcel2.Application.visible := True ; |
老大仔
尊榮會員 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |