Board logo

标题: [转贴] VBS脚本操作文件、数据库 [打印本页]

作者: VBScript    时间: 2012-4-8 19:05     标题: VBS脚本操作文件、数据库

文本文件的读取

  1. Option Explicit
  2. Const ForReading = 1
  3. Const ForWritting = 2
  4. Const ForAppending = 8
  5. Dim fso,file,msg
  6. Set fso=CreateObject("Scripting.FileSystemObject")
  7. Set file=fso.OpenTextFile("d:/a.txt",ForReading,True)
  8. Do While Not file.AtEndOfStream
  9. msg = file.ReadLine
  10. MsgBox msg
  11. Loop
  12. file.Close
  13. Set file=Nothing
  14. Set fso=Nothing
复制代码


第一步:首先创建两个对象,一个FileSystemObject对象fso,然后用fso对象的opentextfile方法去打开一个文件。并返回一个textStream对象给file。
第二步:使用file对象对打开的文件进行操作,例子中是对文件的读取。读取通过file对象的一个方法ReadLine来实现。
第三步:读取完毕,关闭文件
第四步:释放file对象和fso对象

File还有一些其它的方法,如Read、ReadAll等

文本文件的写入

  1. Option Explicit
  2. Const ForReading = 1
  3. Const ForWritting = 2
  4. Const ForAppending = 8
  5. Dim fso,file,msg
  6. Set fso=CreateObject("Scripting.FileSystemObject")
  7. Set file=fso.OpenTextFile("d:/a.txt",ForWritting,True)
  8. File.WriteLine “hello world”
  9. File.WriteLine “this is a writing file case”
  10. file.Close
  11. Set file=Nothing
  12. Set fso=Nothing
复制代码


文件写入的步骤跟读取是一样的,唯一的区别是它们打开文件的方式不同。一个是以读的方式打开,另一个是以写的方式,这通过OpenTextFile方法的参数实现。OpenTextFile方法的第二个参数是一个常量值:1、2、8,1是ForReading的,2是ForWritting的,3是ForAppending的追加方式。

Excel文件的读写

  1. Option Explicit
  2. Dim xlApp,xlFile,xlSheet,xlSheet2
  3. Dim iRowCount,iLoop,jLoop,numAdd(4),iColumnCount,record
  4. Set xlApp=CreateObject("Excel.Application")
  5. Set xlFile=xlApp.Workbooks.Open("D:/data.xls")
  6. Set xlSheet=xlFile.Sheets("Sheet1")
  7. Set xlSheet2=xlFile.Sheets("Sheet2")
  8. iRowCount=xlSheet.usedRange.Rows.Count
  9. iColumnCount=xlSheet.usedRange.Columns.Count
  10. For iLoop = 1 To iRowCount
  11.       For jLoop = 1 To iColumnCount
  12.              numAdd(jLoop) = xlSheet.Cells(iLoop,jLoop)
  13.              'MsgBox numAdd(jLoop)
  14.              xlSheet2.Cells(iLoop,jLoop)=numAdd(jLoop)
  15.              'MsgBox xlSheet2.Cells(iLoop,jLoop)
  16.       Next
  17.       record = Join(numAdd," ")
  18.       MsgBox record
  19. Next
  20. xlFile.Save
  21. xlFile.Close
  22. xlApp.Quit
  23. Set xlSheet = Nothing
  24. Set xlSheet2 = Nothing
  25. Set xlFile = Nothing
  26. Set xlApp = Nothing
复制代码


第一步:Excel的三层概念:Application、ExcelFile、Sheet,因此需要创建三个对象来实现对Excel文件的操作。首先创建一个Excel.Application对象xlApp,然后通过xlApp打开一个Excel文件,并返回一个对象给xlFile,最后通过xlFile的Sheets属性来操作某一个sheet。
第二步:通过sheet对象的cells子对象来操作某一sheet中的区域,sheet对象可以通过usedRange属性来识别此文件已经使用的cells。通过其中的count方法来获取具体值。
第三步:操作完成,保存文件、关闭文件、退出程序
第四步:释放对象

数据库的读写

  1. Dim Cnn, Rst, strCnn
  2. Set Cnn = CreateObject( "ADODB.Connection“ )
  3. Set Rst = CreateObject( "ADODB.Recordset“ )
  4. strCnn= "Provider=Microsoft.Jet.OLEDB.4.0.1;Data Source=C:/qtp_file/cal.mdb; Persist Security Info=False"
  5. Cnn.Open strCnn
  6. Rst.Open "Select * from student", Cnn
  7. Rst.MoveFirst
  8. Do While Not Rst.EOF
  9. MsgBox Trim(Rst.Fields("name"))
  10. Rst.MoveNext
  11. Loop
  12. Rst.Close
  13. Cnn.Close
  14. Set Rst = Nothing
  15. Set Cnn = Nothing
复制代码


1) 创建两个对象Connection对象和RecordSet对象和一个字符串连接串
2) 使用Connection通过连接串连接数据库
3) 将数据库操作的结果集保存到RecordSet对象中
4) 对于结果集中的数据可以通过RecordSet对象的方法来进行操作,Move系列方法是移动游标到相应位置,Fields属性来获取相应的字段值。
5) 关闭结果集、关闭数据库连接
6) 释放对象

其它的数据库文件的操作都是类似的,只要通过相应的字符串连接串进行连接。

xml文件的读写

  1. Dim xmlDoc, xmlRoot, ChildItem, msg
  2. Set xmlDoc = CreateObject ("Microsoft.XMLDOM")
  3. xmlDoc.Load "C:/qtp_file/addressbook.xml" '使用load方法来加载xml文档,建立dom树和xml文档之间的关联
  4. Set xmlRoot = xmlDoc.documentElement '获取XML文档的根元素节点
  5. For Each ChildItem In xmlRoot.childNodes
  6.       MsgBox "当前节点是:" & ChildItem.baseName '显示当前节点的名称
  7.         Set node1=ChildItem.childNodes.item(0)
  8.         Set node2=ChildItem.childNodes.item(1)
  9.         Set node3=ChildItem.childNodes.item(2)
  10.         MsgBox node1.baseName
  11.         MsgBox node2.baseName
  12.         MsgBox node3.baseName
  13.         MsgBox node1.firstChild.nodeValue
  14.         MsgBox node2.firstChild.nodeValue
  15.         MsgBox node3.firstChild.nodeValue
  16. Next
复制代码


1) 同样通过创建XmlDom对象,使用对象通过load方法来关联xml文件
2) 创建xmlRoot对象来获取xml文件的根元素
3) 通过对xmlRoot的子节点来操作整个文件
4) 当然,最后结束操作要释放对象

http://blog.csdn.net/w7822055/article/details/4197785
作者: fatcat    时间: 2012-4-10 19:01

回复 1# VBScript


    感谢分享
作者: minoboy    时间: 2012-4-26 16:09

学习下,谢谢楼主




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2