vb6 引用excel
答案:3 悬赏:30 手机版
解决时间 2021-04-04 10:14
- 提问者网友:皆是孤独
- 2021-04-04 03:53
vb6 引用excel
最佳答案
- 五星知识达人网友:猎心人
- 2021-04-04 04:29
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
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
全部回答
- 1楼网友:孤独的牧羊人
- 2021-04-04 05:47
你可以用低版本的office生成exe程序呀。
- 2楼网友:佘樂
- 2021-04-04 05:07
要出问题。你可能使用了该版本才有的对象,则低版本的库是识别不了的。反过来说,要是不会出问题,微软直接提供最新的库就可以了,干嘛还提供老版本?
解决方案
1:在添加引用的时候,就低不就高。你需要的基本功能,低版本也基本都有;如果实在需要引用高版本,应该在程序运行前,对客户环境进行版本检查。
2:如果是商用程序,需要做好测试工作,即你要用不用的Excel版本,验证你的设计。
3:反其道而行之,不要用VB调用Excel,而用Excel调用VB制作的DLL。用VB实现的各种功能(算法,界面等),可以打包到DLL中,然后用Excel的VBA调用它。这样DLL中就无需用到Excel的库,并且今后它还可以为其他程序使用。不过,要是制作商用程序,考虑客户安装时,难度要大些。
解决方案
1:在添加引用的时候,就低不就高。你需要的基本功能,低版本也基本都有;如果实在需要引用高版本,应该在程序运行前,对客户环境进行版本检查。
2:如果是商用程序,需要做好测试工作,即你要用不用的Excel版本,验证你的设计。
3:反其道而行之,不要用VB调用Excel,而用Excel调用VB制作的DLL。用VB实现的各种功能(算法,界面等),可以打包到DLL中,然后用Excel的VBA调用它。这样DLL中就无需用到Excel的库,并且今后它还可以为其他程序使用。不过,要是制作商用程序,考虑客户安装时,难度要大些。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯