以下是delphi控制Excel的打印,問題是只能打印一個Sheet,要如何做到一起打印所有Sheetvar
  FExcelApp: Variant  FExcelApp := CreateOleObject('Excel.Application');
  FExcelApp.Visible := False;
  FExcelApp.WorkBooks.Open(FInFile);
  FExcelApp.WorkSheets[1].Activate;
  FExcelApp.ActiveSheet.PrintOut;
  FExcelApp.WorkBooks.Close;
  FExcelApp.Quit;
  FExcelApp := Unassigned;

解决方案 »

  1.   

      FExcelApp := CreateOleObject('Excel.Application');
      FExcelApp.Visible := False;
      FExcelApp.WorkBooks.Open(FInFile);
      for i := 1 to FExcelApp.worksheets.count do
      begin
        FExcelApp.worksheets[i].activate;
        FExcelApp.ActiveSheet.PrintOut;
      end;
      FExcelApp.WorkBooks.Close;
      FExcelApp.Quit;
      FExcelApp := Unassigned;
      

  2.   

    把楼上的FExcelApp.ActiveSheet.PrintOut;放到循环外边来
      

  3.   

    那只能用一个笨办法了,先创建一个临时sheet,将其它sheet中所有内容合并到临时sheet中,再将临时sheet设为当前活动sheet,然后ActiveSheet.PrintOut
      

  4.   

    不懂   全设置成了ActiveSheet不就一起打印了吗
      

  5.   

    當前只能有一個ActiveSheet创建一个临时sheet,将其它sheet中所有内容合并到临时sheet中
    這個要怎麼實現呢?