Dim objExl As Excel.Application   '声明对象变量
  Dim i As Long
  Dim j As Long
  Dim x As Long
 Set objExl = New Excel.Application '初始化对象变量
 objExl.SheetsInNewWorkbook = 1  '将新建的工作薄数量设为1
    objExl.Workbooks.Add          '增加一个工作薄
    objExl.Sheets(objExl.Sheets.Count).Name = "book1"  '修改工作薄名称
    objExl.Sheets("book1").Select
i = 1: j = 1
For x = 1 To 1000
objExl.Cells(i, j).Value = x
j = j + 1
If j = 20 Then j = 1: i = i + 1
NextobjExl.Application.IgnoreRemoteRequests = False
   objExl.Visible = True                       '使EXCEL可见
   objExl.Application.WindowState = xlMaximized 'EXCEL的显示方式为最大化
   objExl.ActiveWindow.WindowState = xlMaximized '工作薄显示方式为最大化
   Set objExl = Nothing    '清除对象
在C2.2/512M的机子上打开一次需要10秒钟时间…

解决方案 »

  1.   

    两个地方花时间比较长,1是打开Excel对象,2是循环占用时间
      

  2.   

    有没有打开EXECL快点的方法,我从数据查询数据只要两秒,打印竟然要花30-60秒的时间
    如果用VB自带的报表只要2、3秒就可以了
      

  3.   

    基本上没有办法,时间主要花在循环填充上了,打开Excel,慢的话,最多不超过10秒如果你的循环填充能够去掉,改为当作数据库操作的话,能快一些