利用Ole操作Excel的打印问题(75分)

  • 主题发起人 主题发起人 blackpearl
  • 开始时间 开始时间
B

blackpearl

Unregistered / Unconfirmed
GUEST, unregistred user!
我用OLe操作Excel进行打印预览和打印的操作,为什么调用xlApp.ActiveSheet.PrintPreview;不成功呢?--程序好像死了一般,但关闭程序,打开excel的时候,又可以看到左边文档恢复栏有刚才打印不成功的那个excel文件的;

我的代码如下:
var
curpath,filename:string;
begin
curpath:='C:/source.xls';
filename:='C:/dest.xls';
try
XLApp := CreateOleObject('Excel.Application');
except
Screen.Cursor := crDefault;
application.MessageBox('本机没有安装Excel.'+#13+'无法完成导出操作!', 'ACEL',MB_Iconinformation+mb_OK);
Exit;
end;

try
xlapp.workbooks.open(curpath);
xlapp.worksheets[1].activate;

xlapp.activesheet.saveas(filename);//先另存一份出来
xlapp.activesheet.printpreview;//这句话就执行不下去了
//xlApp.ActiveSheet.printout ;//不预览,直接打印却好使
finally
xlapp.workbooks.close;
xlapp.quit;
xlApp := UnAssigned;
end;
end;
请大侠指教^_^
 
xlApp.ActiveWorkBook.PrintPreview;
 
试过了,还是不行:(
 
有人知道吗?快要抓狂了……
 
哈哈,不要研究啦,这个函数被微软封死了,你用IE打开word或者excel看看,那个打印预览的按钮是灰色的。
当年我也是弄了很久,结果试过N种方法,找遍goole,百度,问遍各个论坛,最终还是解决不了!
 
啊……太失望了
 
在xlapp.activesheet.printpreview
前面加一行xlapp.visible:=1;
试试。
应该可以预览。
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
781
import
I
I
回复
0
查看
618
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
450
import
I
后退
顶部