小弟用delphi编了程序,打印部分是调用excel的打印预览页,因有的时候不希望用户打印,想把预览页的打印按钮隐藏掉,请问高手,该如何处理?有建议也有分,如果不够再加。

解决方案 »

  1.   

    自己做预览了只有,用TPRINTER对象,我就是自己做的,
      

  2.   

    这个到时没有想到,给你提供点东西,不知你能否用上:
    Sheet.PageSetup.LeftMargin := 30; //设置边距
    Sheet.PageSetup.RightMargin := 30;
    Sheet.PageSetup.TopMargin := 30;
    Sheet.PageSetup.BottomMargin := 50;
    Sheet.PageSetup.PrintQuality := 400; //分辨率根据打印机确定
    Sheet.PageSetup.CenterHorizontally := True;//是否水平居中
    Sheet.PageSetup.CenterVertically := True; //是否垂直居中
    Sheet.PageSetup.Orientation := 2; //横向打印
    Sheet.PageSetup.Draft := False; //非草稿模式
    Sheet.PageSetup.FirstPageNumber := xlAutomatic;
    Sheet.PageSetup.BlackAndWhite := True;//黑白稿
    Sheet.PageSetup.Zoom := 100; //缩放
    sheet.PrintPreView; //打印预览我再帮你顶一下把,看看有没有高手!!!!!
      

  3.   

    qingenerp(真爱不息):这个不是我想要的。
    huayuxing(huayuxing) :应该是可以实现的,我思路是有的,就是不知道如何实现:
    找到进程列表中名为exel的进程,然后找到内容为“打印”的按钮,将其可视性设为假即可。
      

  4.   

    我想用 sheet.range.Protect 這樣的方式來保護, 但只能不讓用戶修改,
    無法不讓用戶不打印當然, 也可找到打印這個菜單, 還有button的handle, 屏蔽掉!!!
      

  5.   

    对啊,aiirii,能不能帮帮我。
      

  6.   

    我想用SendMessage, GetClassName, FindWindowEx, GetWindowText等api函数应该是可以实现的。高手帮帮忙,急用。
      

  7.   

    我靠,sheet.PrintOut打印正常。
    改成sheet.PrintPreView就没响应了。
    怎么回事啊?
      

  8.   

    唉,看来学delphi的是没什么高手。
    大家救我,100不够,可再加,你说个数吧。
      

  9.   

    还是在vb版里面得到了些很多思路。是不是因为delphi不设mvp,版主和高手们都觉得没劲回答啊。
      

  10.   

    给楼主指条路子:
    好好看一下OLE方面的资料,肯定有办法解决!
    通过OLE与Excel通信时,多了解一下其中的接口函数和相关属性!