当前位置: 洪哥笔记 > ASP > 操作EXCEL

 

操作EXCEL


关键词

EXCEL

摘要

EXCEL

        

'以下VBS为一个例子,演示VBS对于EXCEL文件的常用操作
'MSDN上关于EXCEL 2003的链接 http://msdn.microsoft.com/en-us/library/aa272254(v=office.11).aspx

On Error Resume Next                                          '出现错误时继续运行,以便能运行到最后,关闭脚本打开的EXCEL.EXE进程     
Set exlApp = CreateObject("Excel.Application")                '创建对象
vbsFullname = WScript.ScriptFullName
vbsPath = Left(vbsFullname, InstrRev(vbsFullname, "\"))        '得到运行的VBS文件所在路径

Set exlWorkbook = exlApp.Workbooks.Open(vbsPath & xlsFilename)        '创建对象,这里必须用绝对路径

Set rng = exlWorkbook.Worksheets(1).Usedrange                '得到EXCEL中第一个工作表里有数据的区域
'Set rng = exlWorkbook.Worksheets(1).Range("B1")             '选择B1这个单元格
'Set rng = exlWorkbook.Worksheets(1).Cells(1,2)              '选择B1这个单元格
'Set rng = exlWorkbook.Worksheets(1).Range("C5:D9,G9:H16")   '选择C5-D9和G9-H16两个区域
'Set rng = exlWorkbook.Worksheets(1).Range("A:A")            '选择A列
'Set rng = exlWorkbook.Worksheets(1).Range("1:1,3:3,8:8")    '选择第1、2、8行
rows = rng.Rows.Count                                        '得到该区域的行数
cols = rng.Rows.Column                                       '得到该区域的列数
rng.Copy exlWorkbook.Worksheets(2).Range("A1")               '将该区域的内容复制到第二个工作表中

exlWorkbookDst.Worksheets(1).Activate()                      '使工作表为活动的状态
exlWorkbookDst.Worksheets(1).cells(1,1).select               '选中(点击)第一个表的第一个单元格,这里对单元格操作必须保证它是活动的状态
exlWorkbookDst.Worksheets(1).cells(1,1) = "测试"             '第一个单元格中写入内容"测试"

'------------------------------------------------

Set conn = CreateObject("adodb.connection")    
Set rs = CreateObject("adodb.recordset")
conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source="&anotherXlsFilename        '将另一个excel文件作为数据源打开
rs.Open "Select * from [Sheet1$]",conn,1,3                    '将名为Sheet1的工作表作为数据库的表来操作,这里必须写成 [名称$]

exlWorkbook.Worksheets(3).Range("A1").CopyFromRecordset rs    '将记录集rs中的内容复制到之前EXCEL文件的第三个工作表中

exlApp.DisplayAlerts = False
exlWorkbookDst.Worksheets(2).Delete                           '删除Sheet4这个工作表,删除前后必须加DisplayAlerts关闭提示,否则不成功
exlApp.DisplayAlerts = True

 '------------------------退出时关闭EXCEL
If Err Then                                                  
        MsgBox "运行时出现了错误"                              '不正常运行时的退出
        exlApp.DisplayAlerts = False                           '由于这里关闭时不需要保存,所以关闭提示不让程序弹出是否保存的窗口
        exlApp.Application.Quit
        Wscript.Quit
Else
        exlWorkbookDst.close True                              '关闭EXCEL,True表示保存更改,False,不保存
        exlApp.Application.Quit                                '正常运行时的退出,如果之前没有保存过,会弹出是否保存的提示
End If

'注意,如果将一个工作表中的关闭后,再对它进行操作,会有报错:"被调用的对象已与其客户端断开连接(The connection for viewing your linked Microsoft Excel worksheet was lost)"

 

 

文章的版权

洪哥写文章很苦逼,如果本文对您略有帮助,点击感兴趣的广告支持洪哥!万分感谢!本文属于“洪哥笔记”原创文章,转载请注明来源地址:操作EXCEL:http://www.splaybow.com/post/excel.html

关注与收藏

如果您在服务器运维、网络管理、网站或系统开发过程中有任何疑问,洪哥以此为饭碗,请加QQ:115085382!
了解更多好文章,请关注我们的新浪微博和腾讯微博
亲,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D


« VBScript之XMLHTTP asp生成UTF-8编码 »

相关文章:

ueditor在虚拟主机中不能上传图片的问题  (2014/12/10 16:03:22)

验证货币金额的正则表达式  (2014/11/26 16:39:52)

各种验证数字类的正则表达式  (2014/9/23 8:43:11)

ASP中Null,Empty,Nothing的区别  (2014/8/9 12:38:17)

ASP获取客户端IP地址  (2014/8/4 8:39:20)

ASP获取最新插入行的ID(标识)  (2014/7/18 8:44:05)

editplus另存为utf-8时不成功  (2014/7/13 9:09:46)

UTF-8编码的ASP页面报错信息是乱码  (2014/7/12 9:23:03)

ASP打开空白页面  (2014/7/11 8:41:23)

ASP详细报错不显示  (2014/7/7 15:06:35)