VBA调用外部对象02:FileSystemObject——操作文本文件
时间:2022-07-22
本文章向大家介绍VBA调用外部对象02:FileSystemObject——操作文本文件,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1、写入:
FileSystemObjectc操作文本文件是通过OpenTextFile的函数,它能够返回一个TextStream对象,TextStream对象封装好了对文本文档的一些常用的操作,让我们试试如何来写入一个文本文档:
Sub TestFSOWrite()
Dim fso As FileSystemObject
'创建对象
Set fso = New FileSystemObject
Dim ts As TextStream
'创建TextStream,并使用IOMode ForWriting即只读模式,Create = True, 文件不存在的时候会自动创建
Set ts = fso.OpenTextFile(ThisWorkbook.path & "test.txt", ForAppending, True)
'写入
ts.Write "test"
'关闭
ts.Close
Set ts = Nothing
Set fso = Nothing
End Sub
前面说到过,这种封装好了的对象,一般使用步骤都是定义对象变量-创建对象-使用对象的方法、属性等。上面就是首先创建FileSystemObject对象,然后调用FileSystemObject对象的函数OpenTextFile创建TextStream对象,再使用TextStream对象的Write方法写入文本。
相对于文件操作——写入里介绍的打开Open-写入Put-关闭Close三步,使用起来更好理解。
我们是使用TextStream这个对象来操作文本文档的,那么,我们可以直接用New关键字来创建它吗?如果你尝试过了,应该发现这是做不到的,如果接触到了类模块,我们会发现类模块里有一个属性叫做Instancing,默认是1-Private,还有1个是2-PublicNotCreatable(字面理解:公开但是不能被创建),我们可以理解TextStream就是类似类模块Instancing属性设置成了2-PublicNotCreatable。
2、读取:
和读取也是差不多,定义对象变量-创建对象-使用对象的方法、属性:
Sub TestFSORead()
Dim fso As FileSystemObject
'创建对象
Set fso = New FileSystemObject
Dim ts As TextStream
'创建TextStream,并使用IOMode ForWriting即只读模式,Create = True, 文件不存在的时候会自动创建
Set ts = fso.OpenTextFile(ThisWorkbook.path & "test.txt")
Dim str As String
str = ts.Read(2)
Debug.Print str
'关闭
ts.Close
Set ts = Nothing
Set fso = Nothing
End Sub
OpenTextFile后面的参数都可以省略,我们使用Read方法读取2个字符,在立即窗口中你应该能够看到输出te。
- [C#2] 3-局部类型、属性访问器保护级别、命名空间别名限定符
- (2013.09更新)最新W3School 离线完整版CHM 电子书下载
- [C#2] 1-泛型
- .NET4.0的可扩展缓存系统
- 让WordPress 在RSS 中Feed 截断文字输出
- [C#1] 11-接口
- jquery 标签中的属性操作
- 使用MongoDB存储访问者信息
- 解决WordPress 打开Feed页面“This page contains the following errors…”的问题
- jquery表单属性筛选元素
- [C#1] 10-事件
- Windows 7的VPC虚拟机自动不与主机时间同步的解决办法
- [C#1] 9-委托
- jquery基本选择器
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python代码规范检测
- 详解Flask上下文
- C#逐行读取和写入文件
- 使用这些不太常用的 CSS 属性,让我在前端布局效率上,又提高了一个层次!
- CDN缓存的理解
- 二叉树的所有路径
- JavaScript 字符串中的 pad 方法!
- python随机生成经纬度(用于爬虫参数伪造)
- [Go]GO语言实战-gorm获取insert的自增id 和 struct标签不映射到表字段
- 安装vcs
- Mercari数据集——机器学习&深度学习视角
- 查找重复姓名的sql语句
- nginx如何限制并发连接请求数?
- RTSP协议视频平台EasyNVR证书配置界面上传文件地址自动填写错误怎么处理?
- 开发RTSP/RTMP/GB28181/海康SDK/EHome视频融合平台EasyCVR,使用vue-cli3项目搭建多页面模式的方法