在Delphi中调用Excel进行报表打印时的打印输出问题(100分)

  • 主题发起人 主题发起人 QQLEE
  • 开始时间 开始时间
Q

QQLEE

Unregistered / Unconfirmed
GUEST, unregistred user!
我用在Delphi中调用Excel进行报表打印时,采用了如下方法:
var xlApp,xlSheet:olevariant;
xlApp:= CreateOleObject('Excel.Application');
xlApp.visible:=true;
xlApp.WorkBooks.open(‘c:/ok.xls’);
xlSheet:=xlApp.WorkBooks[1].Worksheets[1];
xlSheet.activate;
xlsheet.printout;
这样会把打印任务一次性地输出给打印机。我的问题是,能否显示出Excel中的打印对话框,
可以自己设置各种打印参数,如第几页至第几页,打印几份等。我找到了Excel中的VBA对象
属性,有一个xldialogprint对话框,在VB中这样调用:
xlApp.dialogs(xldialogprint).show
但在Delphi中却行不通,总说找不到成员。请各位高手帮忙,此问题困扰我多日,且急迫得
紧!!!!!!!!
 
可以直接在PrintOut函数对相应的参数给定相应的值。应该可以。
 
谢谢sunhood
我查过PrintOut的属性,没有发现这种属性,只有一些固定的,如打印的起止页、
打印份数等。
请各位大虾帮忙!!!!!!
 
你可以用 控件 OleContainer 来实现呀!
OleDoc.CreateObjectFromFile(File_Name, False);
OleDoc.DoVerb(ovshow);
 
var xlApp,xlSheet:olevariant;
xlApp:= CreateOleObject('Excel.Application');
xlApp.visible:=true;
xlApp.WorkBooks.open(‘c:/ok.xls’);
xlSheet:=xlApp.WorkBooks[1].Worksheets[1];
xlSheet.activate;
xlsheet.printpreview;
就可以了
 
xlApp:= CreateOleObject('Excel.Application');
这句为何在我的机子上行不通?
 
同意hyj的第二个说法,可以直接调用printpriview,
那么你就可以直接看到Excel的打印设置界面了.
 
zhang_yung, use comobj
 
后退
顶部