如何解决工程引用EXCEL版本问题?

yjking138 2006-07-31 11:59:17
我的电脑安装了OFFICE 2003 EXCEL的版本在VB6.0工程-引用中的版本是11.0,经引用该版本后生成的EXE文件在其他安装OFFICE2003以下版本的电脑中不能运行,经查,OFFICE2000的版本是9.0,造成出错,如果用安装OFFICE2000的电脑上生成EXE文件则不会出错,请问,在工程-引用 EXCEL11.0这版本的话,如何向下兼容低版本的EXCEL文件?
...全文
506 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fxy_2002 2006-07-31
  • 打赏
  • 举报
回复
这样写了后,去掉"工程"中的"引用"再试

如果不引用对象库的话,dim xx as new ... 这样的写法是不行的。
引用了,才可以用 new
没引用,就用 createobject
所有的new 都要修改(当然是只涉及excel对象的)
yjking138 2006-07-31
  • 打赏
  • 举报
回复
下面是部分源代码,请大大们帮我想个办法解决一下!

Private Conn As New ADODB.Connection
Private mRS As New ADODB.Recordset
Private strYybdm As String
Dim varghzh As Variant, varnhzh As Variant


Private Sub Command6_Click()
Dim xlApp As Excel.Application
Set xlApp = New Excel.Application
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Dim strSource, strDestination As String

If Check1 Then
strSource = App.Path & "\dynhmb.xls"
strDestination = App.Path & "\Temp.xls"

On Error GoTo Err

FileCopy strSource, strDestination
Set xlbook = xlApp.Workbooks.Open(strDestination)
Set xlsheet = xlbook.Worksheets(1)

xlsheet.Cells(2, 2) = Text2.Text
xlsheet.Cells(4, 3) = Text2.Text
xlsheet.Cells(5, 3) = "'" & Text3.Text
xlsheet.Cells(6, 3) = Text12.Text
xlsheet.Cells(7, 3) = Text9.Text
xlsheet.Cells(8, 3) = "'" & Text10.Text
xlsheet.Cells(9, 3) = "'" & Text13.Text
xlsheet.Cells(4, 4) = "'" & Text11.Text
xlsheet.Cells(5, 4) = Text1.Text

xlbook.Save
For x = 1 To 3
xlsheet.PrintOut
If MsgBox("是否继续打印...", vbYesNo) = vbNo Then Exit For
Next x
xlApp.Quit
Set xlApp = Nothing
Exit Sub
End If

Err:
MsgBox "打印模板出错!", vbQuestion, "提示"
Exit Sub
End Sub
yjking138 2006-07-31
  • 打赏
  • 举报
回复
一样不行啊,可怜,会不会是这个set xlapp = createobject("excel.application")
在EXCEL11.0中不能正常引用的,是因为版本过高影响?
yjking138 2006-07-31
  • 打赏
  • 举报
回复
我有用啊:
set xlapp = createobject("excel.application")
fxy_2002 2006-07-31
  • 打赏
  • 举报
回复
不要使用引用,使用 createobject("excel.application") 来建立 excel 对象就可以了。
这个类名是不会变的,只要客户机上安装了 excel ,就能调用到,不管是版本多少

xujexy 2006-07-31
  • 打赏
  • 举报
回复
设计多个dll
Dim xlApp As Excel.Application
Set xlApp = New Excel.Application
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
wxrwan 2006-07-31
  • 打赏
  • 举报
回复
Dim xlApp As Excel.Application
改成
dim xlApp as object
yjking138 2006-07-31
  • 打赏
  • 举报
回复
谢谢!我试一下,可惜要到明天才能试了,谢谢大大的帮助!
fxy_2002 2006-07-31
  • 打赏
  • 举报
回复
哎,算了我还是写出来吧:(首先去掉excel libaray引用)

dim xlApp as object
set xlApp=createobject("excel.application")

dim xlBook as object
set xlBook=xlApp.workbooks.open("...")

dim xlSheet as object
set xlSheet=xlBook.worksheets(1)

所有的dim xx as excel..... 都要换成 dim xx as object
然后再用 createobject 或 set xx=... 来建立对象实例。
yjking138 2006-07-31
  • 打赏
  • 举报
回复
不行哦,去掉引用及NEW,提示“用户定义类型未定义”!
yjking138 2006-07-31
  • 打赏
  • 举报
回复
哦,我试一下,谢谢哦!

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧