![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
||||||
| vb调用execl | ||||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-8-26 ![]() |
||||||
|
VB中用程序处理WORD和EXCEL的问题,我把我的经验在这里描述一下,希望对大家有帮助。
例:我们要在A1的地方输入"姓名",B1的地方输入"工资",然后A2输入张三,B2输入1000,。。。,最后在A5输入合计,并在B5计算出全部工资。 1)首先打开EXCEL,选择菜单[工具]—[宏]—[录制新宏] 2)在A1格中输入:姓名;B1格中输入:工资;A2输入:张三;B2输入:1000;A3输入:李四;B3输入:1000;。。。A5输入:合计,并在B5输入:=SUM(B2:B4) 3)选择停止[宏] 4)选择菜单[工具]—[宏]—[Visual Baisic 编辑器],这时为VBA的调试环境(几乎和VB的一样),然后打开“模块1”的代码窗口,就可以看到如下代码: Sub 宏1() ' ' 宏1 Macro ' zhouch 记录的宏 2004-9-13 ' ' Range("A1").Select ActiveCell.FormulaR1C1 = "姓名" Range("B1").Select ActiveCell.FormulaR1C1 = "工资" Range("A2").Select ActiveCell.FormulaR1C1 = "张三" Range("B2").Select ActiveCell.FormulaR1C1 = "1000" Range("A3").Select ActiveCell.FormulaR1C1 = "李四" Range("B3").Select ActiveCell.FormulaR1C1 = "2000" Range("A4").Select ActiveCell.FormulaR1C1 = "王五" Range("B4").Select ActiveCell.FormulaR1C1 = "1500" Range("A5").Select ActiveCell.FormulaR1C1 = "合计" Range("B5").Select ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)" End Sub 5)在VB中新建一个工程,加1个Command控件,并在VB的菜单[工程]—[引用]下添加引用“Microsoft Excel 9.0 Object Library”,再添加如下EXCEL调用的框架代码: Private Sub Command1_Click() Dim Ex As Excel.Application Dim ExwBook As Excel.Workbook Dim ExSheet As Excel.Worksheet On Error Resume Next '不带第一个参数调用 Getobject 函数将 '返回对该应用程序的实例的引用。 '如果该应用程序不在运行,则会产生错误。 Set Ex = GetObject(, "Excel.Application") If Err.Number <> 0 Then Err.Clear '如果发生错误则要清除 Err 对象。 Set Ex = CreateObject("Excel.Application") '应用程序不在运行,则建立 End If On Error GoTo 0 Set ExwBook = Nothing Set ExSheet = Nothing Set ExwBook = Ex.Workbooks().Add Set ExSheet = ExwBook.Worksheets("sheet1") '执行EXCEL中的VBA代码 With Ex '此处剪贴Excel中的代码,并在每句前加一个点 End With '保存.xls 'ExwBook.SaveAs "c:test.xls" ExSheet.Application.Visible = True '显示excel表格 ExSheet .PrintPreview '预览 ExSheet .DisplayAlerts = False '退出时不提示保存 ExwBook.Close False '退出excel Ex.Quit Set Ex = Nothing End Sub 6)将EXCEL中的VBA代码剪贴到VB程序中,并在每句前添加1个.,就得到如下的VB程序: Private Sub Command1_Click() Dim Ex As Excel.Application Dim ExwBook As Excel.Workbook Dim ExSheet As Excel.Worksheet On Error Resume Next '不带第一个参数调用 Getobject 函数将 '返回对该应用程序的实例的引用。 '如果该应用程序不在运行,则会产生错误。 Set Ex = GetObject(, "Excel.Application") If Err.Number <> 0 Then Err.Clear '如果发生错误则要清除 Err 对象。 Set Ex = CreateObject("Excel.Application") '应用程序不在运行,则建立 End If On Error GoTo 0 Set ExwBook = Nothing Set ExSheet = Nothing Set ExwBook = Ex.Workbooks().Add Set ExSheet = ExwBook.Worksheets("sheet1") '执行EXCEL中的VBA代码 With Ex '此处剪贴Excel中的代码,并在每句前加一个点 .Range("A1").Select .ActiveCell.FormulaR1C1 = "姓名" .Range("B1").Select .ActiveCell.FormulaR1C1 = "工资" .Range("A2").Select .ActiveCell.FormulaR1C1 = "张三" .Range("B2").Select .ActiveCell.FormulaR1C1 = "1000" .Range("A3").Select .ActiveCell.FormulaR1C1 = "李四" .Range("B3").Select .ActiveCell.FormulaR1C1 = "2000" .Range("A4").Select .ActiveCell.FormulaR1C1 = "王五" .Range("B4").Select .ActiveCell.FormulaR1C1 = "1500" .Range("A5").Select .ActiveCell.FormulaR1C1 = "合计" .Range("B5").Select .ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)" End With '保存.xls ExwBook.SaveAs "c:test.xls" ExwBook.Close False '退出excel Ex.Quit Set Ex = Nothing End Sub 7)运行以上程序,并按“Command1”按钮,就会在C盘根目录下生成一个EXCEL文件:test.xls,打开看一下,是不是我们想要的啊? 本文来源:http://blog.csdn.net/retty85/archive/2007/08/25/1758912.aspx
|
||||||
| 文章录入:admin 责任编辑:admin | ||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | ||||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|