*********************************************************  
'*  名称:OutDataToExcel  
'*  功能:将MsFlexGrid控件中显示的内容输出到Excel表格中进行打印  
'*********************************************************  
Public  Sub  OutDataToExcel(Flex  As  MSFlexGrid)        '导出至Excel  
       Dim  s  As  String  
       Dim  i  As  Integer  
       Dim  j  As  Integer  
       Dim  k  As  Integer  
       On  Error  GoTo  Ert  
       Me.MousePointer  =  11  
       Dim  Excelapp  As  Excel.Application  
       Set  Excelapp  =  New  Excel.Application  
       On  Error  Resume  Next  
       DoEvents ‘是什么意思啊 
       Excelapp.SheetsInNewWorkbook  =  1  
       Excelapp.Workbooks.Add  
       Excelapp.ActiveSheet.Cells(1,  3)  =  s 是什么意思啊  
       Excelapp.Range("C1").Select  是什么意思啊;
       Excelapp.Selection.Font.FontStyle  =  "Bold"  
       Excelapp.Selection.Font.Size  =  16  
       With  Flex  
               k  =  .Rows  
               For  i  =  0  To  k  -  1  
                       For  j  =  0  To  .Cols  -  1  
                             DoEvents  
                             Excelapp.ActiveSheet.Cells(3  +  i,  j  +  1)  =  "'"  &  .TextMatrix(i,  j)  
                       Next  j  
               Next  i  
       End  With  
       Me.MousePointer  =  0  
       Excelapp.Visible  =  True  
       Excelapp.Sheets.PrintPreview 是不是出现打印预览啊                
Ert:  
       If  Not  (Excelapp  Is  Nothing)  Then  
               Excelapp.Quit  
       End  If  
End  Sub  还有;我想直接打印出来;也就是单击打印按钮就直接打印出来;后台的那种
就好象在EXCEL中按一下打印就直接打印出来。不知道有没有理解我的意思。不管什么方式;直接打印出来;能解决吗?

解决方案 »

  1.   

    Excelapp.ActiveSheet.Cells(1,  3)  =  s 是什么意思啊  
    DoEvents ‘是什么意思啊 
    Excelapp.Sheets.PrintPreview 是不是出现打印预览啊   
           Excelapp.Range("C1").Select  是什么意思啊;
    帮我看看吧             
      

  2.   

    是打印浏览的,。。
            是选中某一范围的,具体"c1"表示什么意思,你可以找excel看看,。so easy
      

  3.   

    上EXCDL中录制宏看一下就知道了!!
      

  4.   

    DoEvents ‘是什么意思啊 
    =====================================
    DoEvents 函数
          转让控制权,以便让操作系统处理其它的事件。语法DoEvents( )说明DoEvents 函数会返回一个 Integer,以代表 Visual Basic 独立版本中打开的窗体数目,例如,Visual Basic,专业版,在其它的应用程序中,DoEvents 返回 0。DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。小心 确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents 返回之前,不能再次被其他部分的代码调用;否则会产生不可预料的结果。此外,如果其它的应用程序可能会和本过程以不可预知的方式进行交互操作,那么也不要使用 DoEvents,因为此时不能放弃控制权Excelapp.ActiveSheet.Cells(1,  3)  =  s 是什么意思啊  
    =======================================================
    为excel表格中的第一行第三格(正常来说应该是“c1”格)赋值为字符串变量s的值,但你给出的代码并没有看见为变量s赋值的语句,或许在程序的其他地方吧。。Excelapp.Range("C1").Select  是什么意思啊;
    =========================
    选中“c1”这个单元格,一般来说,c1格就是第一行第三格 Excelapp.Sheets.PrintPreview 是不是出现打印预览啊
    =============================
    是的。
    还有;我想直接打印出来;也就是单击打印按钮就直接打印出来;后台的那种
    就好象在EXCEL中按一下打印就直接打印出来。不知道有没有理解我的意思。不管什么方式;直接打印出来;能解决吗?
    =========================
    ActiveSheet.PrintOut
      

  5.   

    Dim Excelapp   As Excel.Application
        Set Excelapp = New Excel.Application
        
        Dim xlBook As Excel.Workbook
        Set xlBook = Excelapp.Workbooks.Add
     
        Dim xlSheet As Excel.Worksheet
        Set xlSheet = xlBook.Worksheets(1)
        
        xlSheet.Cells(1, 3) = "a"
      '  xlSheet.PrintPreview   '打印预览
        xlSheet.PrintOut '直接打印