如何用DELPHI编程实现EXCEL的工作表复制(含数据及格式,包括打印设置) 如何用DELPHI编程实现EXCEL的工作表复制(含数据及格式,包括打印设置) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主可以在excel下录制宏,然后再参考宏代码:录制:工具->宏->录制新宏查看宏代码:工具->宏->编辑有些代码在delphi中不一定能够直接运行,只是参考. Sub Macro1()'关键是如何将以下代码转换成DELPHI语句' Macro1 Macro' 宏由 LXY 录制,时间: 2006-10-30'' Sheets("sheet1").Select Sheets("sheet1").Copy Before:=Sheets(1) Sheets("sheet1").Select Cells.Select Selection.Copy Sheets("sheet2").Select Cells.Select Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Application.CutCopyMode = FalseEnd Sub 大部分都相同,只是VBA中用了一些常量,你要想办找出它的值来(我一个个猜),还有就是VBA中可能省略了一些对象限制符,你要补齐,可以看VBA的帮助。 //将一个Excel文件合并到一个已存在的Excel文件中function AppandTo(FromFn,ToFn:string):integer;var eclApp, WorkBook,sheet,WorkBook2,sheet2: olevariant; procedure xlsend; begin eclapp.quit; sheet:=Unassigned; sheet2:=Unassigned; workbook:=Unassigned; workbook2:=Unassigned; eclapp:=Unassigned; end;begin result:=0; if (not fileexists(FromFn))or(not fileexists(ToFn)) then begin Result:=1050; exit; end; try eclapp:=CreateOleObject('excel.application'); workbook:=eclapp.workbooks.open(FromFn); sheet:=workbook.ActiveSheet; workbook2:=eclapp.workbooks.open(ToFn); sheet2:=workbook2.ActiveSheet; except Result:=1051; //没有安装Excel xlsend; exit; end; try try sheet.Activate; eclapp.sheets.move(sheet2); workbook2.save; eclapp.quit; deletefile(FromFn); except result:=-1; end; finally xlsend; end;end; 谢谢,根据你zczb(zczb)提供的函数分析完成了我的功能. 关于.dll文件的注册 Delphi中的QRDBText组件如何显示多行数据库字段的内容? 关于数据录入窗体的问题~~~ DELPHI 中如何自定义坐标系 菜鸟提问:关于ODBC的配置 QuickRep来做报表的打印的格式问题?在线! 谁能发个 delphi7 的 帮助文档 中文版 解决了ThemeEngine闪烁问题的高手请进。。。 在程序运行期间怎样及时捕捉输入法的变化? 买了《delphi开发人员指南》,看了几页,觉得值 急~哪个大哥帮我做下这个题目啊!!!! 向下键移动问题
录制:工具->宏->录制新宏
查看宏代码:工具->宏->编辑有些代码在delphi中不一定能够直接运行,只是参考.
'
关键是如何将以下代码转换成DELPHI语句
' Macro1 Macro
' 宏由 LXY 录制,时间: 2006-10-30
''
Sheets("sheet1").Select
Sheets("sheet1").Copy Before:=Sheets(1)
Sheets("sheet1").Select
Cells.Select
Selection.Copy
Sheets("sheet2").Select
Cells.Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
function AppandTo(FromFn,ToFn:string):integer;
var eclApp, WorkBook,sheet,WorkBook2,sheet2: olevariant;
procedure xlsend;
begin
eclapp.quit;
sheet:=Unassigned;
sheet2:=Unassigned;
workbook:=Unassigned;
workbook2:=Unassigned;
eclapp:=Unassigned;
end;
begin
result:=0;
if (not fileexists(FromFn))or(not fileexists(ToFn)) then
begin
Result:=1050;
exit;
end;
try
eclapp:=CreateOleObject('excel.application');
workbook:=eclapp.workbooks.open(FromFn);
sheet:=workbook.ActiveSheet;
workbook2:=eclapp.workbooks.open(ToFn);
sheet2:=workbook2.ActiveSheet;
except
Result:=1051; //没有安装Excel
xlsend;
exit;
end;
try
try
sheet.Activate;
eclapp.sheets.move(sheet2);
workbook2.save;
eclapp.quit;
deletefile(FromFn);
except
result:=-1;
end;
finally
xlsend;
end;
end;