VBA基础入门(38)FSO生成bat文件后执行的实例

论坛 期权论坛 期权     
VBA基础入门   2019-6-9 21:27   1690   0






1.首先,我们回顾下FSO是什么?
文件系统对象FSO的英文全称是File System Object ,这种对象模型提出了有别于传统的文件操作语句处理文件和文件夹的方法。通过采用object.method这种在面向对象编程中广泛使用的语法,将一系列操作文件和文件夹的动作通过调用对象本身的属性直接实现。

2.FSO能做什么?
FSO对象模型包含在Scripting 类型库 (Scrrun.Dll)中,它同时包含了Drive、Folder、File、FileSystemObject和TextStream五个对象。其中Drive用来收集驱动器的信息,如可用磁盘空间或驱动器的类型;Folder用于创建、删除或移动文件夹,同时可以进行向系统查询文件夹的路径等操作;File的基本操作和Folder基本相同,所不同的是Files的操作主要是针对磁盘上的文件进行的;FileSystemObject是FSO对象模型中最主要对象,它提供了一套完整的可用于创建、删除文件和文件夹,收集驱动器、文件夹、文件相关信息的方法。需要注意的是,FSO对象模型提供的方法是冗余的,也就是说在实际使用中,FSO对象模型中包含的不同对象的不同方法进行的却是同样的操作,而且FileSystemObject对象的方法直接作用于其余对象,所以在后面的文章中并没有单独提到FileSystemObject对象,千万不要以为没有提到就不重要,事实上FileSystemObject对象在整个FSO对象模型中无处不在;最后的TextStream对象则是用来完成对文件的读写操作的。

3.如何创建FSO?
要创建FSO对象可以采用两种方法:
一种是将一个变量声明为FSO对象类型:
  1. Dim fsoTest As New FileSystemObject;
复制代码
另一种是通过CreateObject方法创建一个FSO 对象:
  1. Set FSO = CreateObject(“Scripting.FileSystemObject")
复制代码
在实际使用中具体采用哪种声明方法,可根据个人的使用习惯而定。
完成了FSO对象模型的创建之后,就可以利用创建的对象模型的方法访问下属各个对象的属性来获取所需信息或进行相关操作了。


言归正传,下面是实例的框架分享:


  1. Sub Test190605
复制代码
  1.   Dim FSO As Object '定义FSO
复制代码
  1.   Dim FS As Object '定义FS
复制代码
  1.   Dim NewBatFile As Object '定义要新建的bat文件
复制代码
  1.   Set FSO = CreateObject("Scripting.FileSystemObject")
复制代码
  1.   Set FS = CreateObject("Wscript.shell")
复制代码
  1.   ’判断这个bat文件是否存在
复制代码
  1.   ’OutPath是你要生成到的路径
复制代码
  1.   If FSO.FileExists(OutPath & "\NewFile.bat") Then
复制代码
  1.     ’如果存在则删掉它
复制代码
  1.     FSO.DeleteFile OutPath & "\NewFile.bat"
复制代码
  1.   End If
复制代码
  1.   Set NewBatFile = FSO.OpenTextFile(OutPath & "\NewFile.bat",8,True)
复制代码
  1.   ’这个可以做一个循环来写文件的内容
复制代码
  1.   Do While 表达式
复制代码
  1.     NewBatFile.WriteLine ("要写入的内容")
复制代码
  1.   Loop
复制代码
  1.   NewBatFile.Close
复制代码
  1.   FS.Run OutPath & "\NewFile.bat"
复制代码
  1. End Sub
复制代码




分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:15
帖子:3
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP