VBA调用外部对象02:FileSystemObject——OpenTextFile参数

时间:2022-07-22
本文章向大家介绍VBA调用外部对象02:FileSystemObject——OpenTextFile参数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

前面说到了使用FileSystemObject的OpenTextFile函数,使用对象浏览器看看这个函数:

Function OpenTextFile(FileName As String, [IOMode As IOMode = ForReading], [Create As Boolean = False], [Format As Tristate = TristateFalse]) As TextStream
    Scripting.FileSystemObject 的成员
    以文本流(TextStream)方式打开一个文件

FileName很好理解,就是文件的路径。

IOMode 是1个枚举,枚举相当于是一种常量的集合,比如我们定义一种枚举叫做Color,那么Black、Whilt、Blue等都可以放到这个枚举里:

Enum Color
    Black
    Whilt
    Blue
    
End Enum

在没有指定枚举成员具体值的时候,枚举内部成员从0开始按1递增,即Black=0、Whilt=1、Blue=2,枚举让我们更方便的管理同一类型的常量。

IOMode即Input Output Mode,输入输出模式,我们知道对文件的操作一般都是读、写,IOMode实现的就是读ForWriting、写ForReading,以及另外的一个追加ForAppending(也是写的一种操作)。

Create 是Boolean类型,默认为false,即文件不存在的时候会报错,如果设置为true则自动创建文件。

Format也是一种枚举类型,这个就是和编码相关的,前面我们在文件操作——编码里提到过,如果你在读取一个文本文档出现乱码的时候,可以去查看文本文档的编码,然后设置Format参数:

  • TristatetFalse(0)(缺省),按照ASCII格式打开
  • TristatetTrue(-1),按照Unicode格式打开
  • TristateDefault(-2),用系统缺省格式打开

小结

从这些参数的设置可以看出,其实文本文档相关的操作,使用前面说过的Open Get Put等都是可以做到的,涉及到的编码或者其他问题,也是可以结合其他函数实现。

FileSystemObject把这些可能的情况都考虑到了,并设置了相应的参数,涉及固定情况的参数,基本都会设置相应的枚举让用户直接选择,这样就降低了难度并且避免了容易出现的错误。