分享

在VB中调用EXCEL...

 a_cheng 2009-10-22

我们写程序时,有很多的功能如果都要自己写会非常的麻烦,比如:我们调用打印和打印预览。如果自己写过的人都会明白,调用还不是太麻烦,但你要如果调整你的打印内容在打印时正好是A4纸中的合适位置,这一点可能会非常的麻烦。

不知道大家有没有同感。

正因如此,如果调用一些现有的程序来达到一些功能,那么将会变得非常的方便,而EXCEL在这方面具有强大的功能,同时可以说会电脑的人90%都会使用EXCEL,这一点也是它的优势,不必另行特别的培训。

为此如果VB能与EXCEL很好的结合使用,那将是一件非常爽的事。

所以我写这一篇贴子,供大家参考,希望能给大家一定的帮助。

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

由于功能太多,不能一一列举,如果有自己不会的可以用录制宏的办法,用手功操作一次你要的功能,然后看录下的宏程序,VBA中的宏程序几乎所有的宏在VB中都可以直接使用,关键是对象一定要搞清楚。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多