原帖及讨论:http://bbs.bccn.net/thread-105081-1-1.html 我们写程序时,有很多的功能如果都要自己写会非常的麻烦,比如:我们调用打印和打印预览。如果自己写过的人都会明白,调用还不是太麻烦,但你要如果调整你的打印内容在打印时正好是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中都可以直接使用,关键是对象一定要搞清楚。  
|