当前位置: 洪哥笔记 > 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编码 »

相关文章: