vb6 引用excel

我的电脑用的是OFFICE2012正版
在VB中引用EXCEL时是excel14.0
(office2000 是 8.0 2003 是 10.0)
那么如果我生成了exe程序
在别的没有office2012上使用时是否会出问题
如果有 要怎么解决

要出问题。你可能使用了该版本才有的对象,则低版本的库是识别不了的。反过来说,要是不会出问题,微软直接提供最新的库就可以了,干嘛还提供老版本?

解决方案
1:在添加引用的时候,就低不就高。你需要的基本功能,低版本也基本都有;如果实在需要引用高版本,应该在程序运行前,对客户环境进行版本检查。
2:如果是商用程序,需要做好测试工作,即你要用不用的Excel版本,验证你的设计。
3:反其道而行之,不要用VB调用Excel,而用Excel调用VB制作的DLL。用VB实现的各种功能(算法,界面等),可以打包到DLL中,然后用Excel的VBA调用它。这样DLL中就无需用到Excel的库,并且今后它还可以为其他程序使用。不过,要是制作商用程序,考虑客户安装时,难度要大些。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-10-31
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open(App.Path & "\文件名.xls") '打开已经存在的EXCEL工件簿文件
xlApp.Visible = True '设置EXCEL对象可见(或不可见)
Set xlSheet = xlBook.Worksheets("sheel1") '设置活动工作表,sheet1表示表名,可以使用字符型变量代替。
xlSheet.Activate '激活工作表,让它处于前台活动中。
xlBook.RunAutoMacros (xlAutoOpen) '运行自动开启宏Macro1(),在EXCEL中加入以下宏
'Sub auto_open() '这是VBA中的自动打开时运行的宏
' 您要宏自动运行的程序,比如可以call其它的宏,这样VB在打开EXCEL时,使用上面的语句就可以先运行这个宏
'End Sub
xlSheet.Cells.Item(行数,列数) =值 '给EXCEL对象中的表的单元格附值。
xlSheet.Rows("7:7").Select '选定EXCEL表的第7行
xlApp.Selection.Delete shift:=xlUp '删除选定的行
xlSheet.Rows(7).Insert '在第7行处插入一行
ActiveSheet.PageSetup.CenterHeader ="页眉内容" '给页眉附值
xlSheet.Range("f7:h7").Select '选定f7:h7之间的单元格,下面的程序是把它们合并。
Application.CutCopyMode = False
With xlApp.Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
第2个回答  2012-06-07
你可以用低版本的office生成exe程序呀。
相似回答