我在编一个数据库报表程序,把数据从数据库里调出,调用EXCEL库填到EXCEL里,直接打印,完成复杂报表的编制,但现在遇到一个问题,就是数据已经填到EXCEL相应的位置,可我要在打印之前看一遍,在vb中调用EXCEL的打印预览,怎么也不成功,在EXCEL里录制好宏然后在vb里调用也不成功,请高手指点!

解决方案 »

  1.   

    如果你想了解打印预览的原理,可以参考微软的Knowledge Base的文章:“Q113236 OWTO: Add Print Preview to Visual Basic Applications”。不过这种方法比较麻烦,也可以考虑使用PrintPreview OCX(http://www.geocities.com/ResearchTriangle/6311/)或VsView(http://www.videosoft.com)。 
        打印机对象Printer有众多的属性,你可以通过它进行打印机设置,也可以利用通用对话框控件的打印机设置功能设置打印机。
      

  2.   

    有没有直接调用EXCEL的预览功能的方法?
      

  3.   

    http://blog.csdn.net/xayzmb/category/84306.aspx
      

  4.   

    Dim xls   As New Excel.Application        'EXCEL应用程序对象
        Dim xbook As Excel.Workbook          'EXCEL工作薄对象
        Dim xsheet As Excel.Worksheet      'EXCEL工作表对象
        Set xbook = xls.Workbooks.Add    Set xsheet = xbook.Worksheets(1)
        '对xsheet操作,填充单元格
        '……With xsheet.PageSetup
         .PaperSize = xlPaperA4'A4纸
         .Orientation = xlLandscape'横向
         .CenterHeader = "&""宋体,常规""&14表头"
         .CenterFooter = "&""宋体,常规""&P"
    End With
    xls.Visible = True'显示Excel
    xsheet.PrintPreview'打印预览'……