excel的格式复制问题 |
尚未結案
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
比如说,我有一个excel 的book1,我用以下code得到了sheet3,
adoquery2.sql.add('Select [sheet1$].*,[sheet2$].产量 into [sheet3] From [sheet1$] left join [sheet2$]');
adoquery2.sql.add('on [sheet1$].产品代码=[sheet2$].产品代码');
adoquery2.sql.add('order by [sheet2$].产品代码 desc');
adoquery2.execsql;
adoquery2.close;
adoquery2.sql.clear;
这一部分能通过,
然后我想把sheet1中的格式用格式刷复制并paste到sheet3中去,我用录制巨集的方法得到如下vb代码:
Sheets("Sheet1").Select;
Cells.Select;
Selection.Copy;
Sheets("sheet3").Select;
Cells.Select;
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False;
Application.CutCopyMode = False;
并改成delphi格式,如下:
MyExcel.WorkSheets[ 'Sheet1' ].Activate;
MyExcel.WorkSheets[ 'Sheet1' ].Select;
MyExcel.Cells.Select;
MyExcel.Selection.Copy;
MyExcel.WorkSheets[ 'Sheet3' ].Select;
MyExcel.Cells.Select;
MyExcel.Selection.PasteSpecial;
MyExcel.Selection.PasteSpecial Paste:=xlFormats;
MyExcel.Paste:=xlFormats;
MyExcel.Operation:=xlNone;
MyExcel.SkipBlanks:=False;
MyExcel.Transpose:=False;
Application.CutCopyMode = False;
但不通过,请问错在哪里? 谢谢! 發表人 - luowy651 於 2004/08/03 11:35:44 發表人 - luowy651 於 2004/08/03 11:42:27
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
參考這篇試試: http://groups.google.com/groups?hl=zh-TW&lr=&ie=UTF-8&selm=VA.00001d06.00ba80df%40blueyonder.co.not-this-bit.uk
begin WS.Range['A54', 'T94'].PasteSpecial(xlFormats, xlPasteSpecialOperationNone, EmptyParam, EmptyParam); end;-- 向 KTop 的弟兄們致敬! |
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
引言: 參考這篇試試: http://groups.google.com/groups?hl=zh-TW&lr=&ie=UTF-8&selm=VA.00001d06.00ba80df%40blueyonder.co.not-this-bit.uk谢谢hagar大大的回应,小弟万分感激,但我在run时发现如下错误: "undeclared identifier 'EmptyParam'",不知怎么回事?code如下: MyExcel.WorkSheets[ 'Sheet1' ].Activate; MyExcel.WorkSheets[ 'Sheet1' ].Select; MyExcel.Cells.Select; MyExcel.Selection.Copy; MyExcel.WorkSheets[ 'Sheet3' ].Select; MyExcel.Cells.Select; MyExcel.Range['A54', 'T94'].PasteSpecial(xlFormats, xlPasteSpecialOperationNone,EmptyParam,EmptyParam); MyExcel.Application.CutCopyMode:= False; 發表人 - luowy651 於 2004/08/04 10:20:15begin WS.Range['A54', 'T94'].PasteSpecial(xlFormats, xlPasteSpecialOperationNone, EmptyParam, EmptyParam); end;-- 向 KTop 的弟兄們致敬! |
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |