把MSFlexGrid中的數據生成excel報表,第一次成功了。如果再點擊或查詢別的資料,生成報表就出錯了。
出現“執行階段錯誤1004,Rang(golbal物件)失敗”光標停在“ Range("A1:l1").Select”處。
是什么原因呢?

解决方案 »

  1.   

    http://search.csdn.net/Expert/topic/678/678156.xml?temp=.7084162
      

  2.   

    检查你的EXCEL对象退出是否有问题
    或者对象是否 nothing ?
    第一次成功说明你前面的代码没有问题
    问题可能出现在清除对象上面
      

  3.   

    关键的一点问题在于,你不能使用Range("A1:l1").Select,必须把程序稍微修改一下!比如在这句下面你还有设置对齐、字体等操作,你就应该直接把Range("A1:l1")带上!
    就是这样:
      xlSheet.Range("B2:I2").Merge
      xlSheet.Range("B2:I2").VerticalAlignment = xlCenter
      xlSheet.Range("B2:I2").HorizontalAlignment = xlLeft
      xlSheet.Range("B2:I2").Font.Bold = True
      …………
      …………
    并且最后要加上
      Set xlSheet = Nothing
      Set xlBook = Nothing
      Set xlApp = Nothing
    但是请注意!如果你使用了Range("A1:l1").Select,那么在执行set ……=nothing的时候并没有办法真正的退出,这样第二次运行的时候就会错误!