如何用DELPHI编程实现EXCEL的工作表复制(含数据及格式,包括打印设置)

解决方案 »

  1.   

    楼主可以在excel下录制宏,然后再参考宏代码:
    录制:工具->宏->录制新宏
    查看宏代码:工具->宏->编辑有些代码在delphi中不一定能够直接运行,只是参考.
      

  2.   

    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 = False
    End Sub
      

  3.   

    大部分都相同,只是VBA中用了一些常量,你要想办找出它的值来(我一个个猜),还有就是VBA中可能省略了一些对象限制符,你要补齐,可以看VBA的帮助。
      

  4.   

    //将一个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;
      

  5.   

    谢谢,根据你zczb(zczb)提供的函数分析完成了我的功能.