当前位置:编程学习 > VB >>

导出EXCEL 据用户不同的EXCEL版本来选择对应excel application

各位大虾:请看下面代码(是根据用户不同的EXCEL版本来选择对应excel application)
On Error GoTo tg1
    Set ecl = GetObject(, "Excel.Application")
    GoTo tg2
tg1:
    Set ecl = CreateObject("Excel.Application")
tg2:
    EXCELVERSION = ecl.Version
    Set ecl = Nothing
    
Print "EXCELVERSION:"; EXCELVERSION

Dim objExcel As Object 'Point the object variable at an Excel application object
Set objExcel = CreateObject("Excel.Application." & Left(EXCELVERSION, 2)) 'Set properties and execute methods of the object
    With objExcel
      .Workbooks.Add
  For i = 0 To 10              '将msflexgrid1中的数据写入excel表格中
            For j = 0 To 10
             .cells(i + 1, j + 1) = i * j
            Next j
      Next i
      .Visible = True
     End With
但是不知道为什么在用户的机子上还是不能运行,提示还是不能创建对象(在我的电脑上是可以的,我的excel 是 2010,他们的是 2007)。希望大家帮忙哦。或者有更好的实现办法也行。 excel 导出 object VB --------------------编程问答-------------------- On Error GoTo tg1
    Set ecl = GetObject(, "Excel.Application")
    GoTo tg2
tg1:
    Set ecl = CreateObject("Excel.Application")
tg2:
    EXCELVERSION = ecl.Version
    Set ecl = Nothing

你就这么goto来goto去的???吓人 --------------------编程问答-------------------- 自己顶一下,达人帮忙哦 --------------------编程问答-------------------- Dim objExcel As Object 
On Error Resume Next
Set objExcel = CreateObject("Excel.Application") '对于任何版本EXCEL都可以
if err.number<>0 then
   msgbox "没有安装EXCEL!"
   exit sub
endif
With objExcel
      .Workbooks.Add
  For i = 0 To 10              '将msflexgrid1中的数据写入excel表格中
            For j = 0 To 10
             .cells(i + 1, j + 1) = i * j
            Next j
      Next i
      .Visible = True
     End With
--------------------编程问答-------------------- 要导出Excel最好在安装Office的时候完全安装,也就是让office全部在本机运行,
如果不完全安装,会出现能打开Excel文件,但是VB导出Excel的时候创建不了,
我也没仔细找过这个的原因,都是让用户把Office完全安装一遍完事 --------------------编程问答-------------------- 这个应该就是EXCEL部件没装全的关系
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,