首页 > 其他 > 详细

通过程序预览Office文档

时间:2016-04-15 02:08:43      阅读:185      评论:0      收藏:0      [点我收藏+]

我承认,标题是夸大了,就是为了吸引注意力。这里只有Word文档和Excel文档的预览代码。

Word:
//此部分来源:http://princed.mblogger.cn/posts/11885.aspx
//uses ActiveX;
procedure TForm1.MenuPreviewClick(Sender: TObject);
var
    IOO: IOleInPlaceObject ;
begin
    OleContainer1.DoVerb(ovShow);
    if OleContainer1.State in [osUIActive] then
    begin
        OleContainer1.OleObjectInterface.QueryInterface(IOleInPlaceObject,IOO);
        IOO.UIDeactivate;
        IOO :=nil;
    end;
    OleContainer1.OleObject.PrintPreview;
    OleContainer1.DoVerb(ovShow);
    OleContainer1.Align := OleContainer1.Align;
end;

Excel:
//Excel可以通过把OleContainer1.OleObject.PrintPreview换成OleContainer1.OleObject.ActiveSheet.PrintPreview显示预览窗,但预览窗体严重走位,更严重的是程序没有是响应。
//正确的做法是:

procedure TForm1.MenuPreviewClick(Sender: TObject);
var
    ExcelApp: Variant;
begin
    ExcelApp := CreateOleObject( ‘Excel.Application‘ );
    ExcelApp.WorkBooks.Open( FileName{文件名} );
    ExcelApp.Visible:=True;
    ExcelApp.ActiveSheet.PrintPreview;
    ExcelApp.WorkBooks.Close;
    ExcelApp.Quit;
end;

http://blog.csdn.net/nhconch/article/details/497352

通过程序预览Office文档

原文:http://www.cnblogs.com/findumars/p/5393781.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!