VBA文本文件(二十)
还可以读取Excel文件,并使用VBA将单元格的内容写入文本文件。VBA允许用户使用两种方法处理文本文件 -
- 文件系统对象(
FSO) - 使用
Write命令
文件系统对象(FSO)
顾名思义,FSO对象帮助开发人员使用驱动器,文件夹和文件。 在本节中,我们将讨论如何使用FSO。
| 编号 | 对象类型 | 描述 |
|---|---|---|
| 1 | Drive |
Drive是一个对象。 包含收集有关连接到系统的驱动器的信息的方法和属性。 |
| 2 | Drives |
Drives是一个集合。 它提供了连接到系统的驱动器的物理或逻辑列表。 |
| 3 | File |
File是一个对象。 它包含允许开发人员创建,删除或移动文件的方法和属性。 |
| 4 | Files |
Files是一个集合。 它提供了一个文件夹中包含的所有文件的列表。 |
| 5 | Folder |
Folder是一个对象。 它提供了允许开发人员创建,删除或移动文件夹的方法和属性。 |
| 6 | Folders |
Folders是一个集合。 它提供了一个文件夹内所有文件夹的列表。 |
| 7 | TextStream |
TextStream是一个对象。 它使开发人员能够读写文本文件。 |
Drive
Drive 是一个对象,它提供对特定磁盘驱动器或网络共享的属性的访问。 Drive对象支持以下属性 -
AvailableSpaceDriveLetterDriveTypeFileSystemFreeSpaceIsReadyPathRootFolderSerialNumberShareNameTotalSizeVolumeName
示例
第1步 - 在使用FSO进行脚本编写之前,应该启用Microsoft脚本运行时。请导航到工具->引用,如以下屏幕截图所示。

第2步 - 添加“Microsoft脚本运行时间”,然后单击确定。

第3步 - 添加想要写入文本文件中的数据,这里添加一个命令按钮。

第4步 - 现在运行脚本。
Sub CommandButton1_Click()
Const ForReading = , ForWriting = , ForAppending =
Dim FilePath As String
Dim CellData As String
Dim LastCol As Long
Dim LastRow As Long
LastCol = ActiveSheet.UsedRange.Columns.Count
LastRow = ActiveSheet.UsedRange.Rows.Count ' Create a TextStream.
Set fso = CreateObject("Scripting.FileSystemObject")
Set stream = fso.OpenTextFile("F:\worksp\vba\Support.log", ForWriting, True) CellData = ""
' LastRow = 3
LastCol =
For i = To LastRow
For j = To LastCol
CellData = Trim(ActiveCell(i, j).Value)
stream.WriteLine "The Value at location (" & i & "," & j & ")" & CellData
Next j
Next i stream.Close
MsgBox ("Job Done") End Sub
执行脚本时,请确保将光标放在工作表的第一个单元格中。 Support.log文件的创建方式如下面“F:\worksp\vba”的目录,如下的截图所示。

该文件的内容,如以下屏幕截图中所示 -
The Value at location (,)姓名
The Value at location (,)性别
The Value at location (,)城市
The Value at location (,)张三
The Value at location (,)男
The Value at location (,)北京
The Value at location (,)李四
The Value at location (,)男
The Value at location (,)北京
The Value at location (,)王五
The Value at location (,)男
The Value at location (,)上海
The Value at location (,)李小丽
The Value at location (,)女
The Value at location (,)深圳
The Value at location (,)Linsa
The Value at location (,)女
The Value at location (,)深圳
Write命令
与FSO不同,不需要添加任何引用,但是,我们将无法使用驱动器,文件和文件夹。也能够将流添加到文本文件。
示例
Sub CommandButton1_Click()
Const ForReading = , ForWriting = , ForAppending =
Dim FilePath As String
Dim CellData As String
Dim LastCol As Long
Dim LastRow As Long LastCol = ActiveSheet.UsedRange.Columns.Count
LastRow = ActiveSheet.UsedRange.Rows.Count FilePath = "F:\worksp\vba\write.txt"
Open FilePath For Output As # CellData = ""
LastCol =
For i = To LastRow
For j = To LastCol
CellData = "The Value at location (" & i & "," & j & ")" & Trim(ActiveCell(i, j).Value)
Write #, CellData
Next j
Next i Close #
MsgBox ("Job Done") End Sub
执行该脚本时,将在“F:\worksp\vba”位置创建“write.txt”文件,如以下屏幕截图所示。

该文件的内容显示如以下屏幕截图

VBA文本文件(二十)的更多相关文章
- JAVA之旅(二十九)——文件递归,File结束练习,Properties,Properties存取配置文件,load,Properties的小练习
JAVA之旅(二十九)--文件递归,File结束练习,Properties,Properties存取配置文件,load,Properties的小练习 我们继续学习File 一.文件递归 我们可以来实现 ...
- (C/C++学习笔记) 二十. 文件和流
二十. 文件和流 ● 文件的概念 文件(file) 一. C/C++语言将文件作为字节序列(sequence of characters)来对待,但从编码角度,或说从对字节信息的解释来看,文件分为:文 ...
- Excel VBA入门(十)用户窗体开发
VBA 中的用户窗体就是指带 UI 的用户界面,在运行的时候会单独弹出一个窗口,类似于在 windows 系统中运行的一个可执行程序一样(这个说法不太严谨,因为可执行程序也可能是只有命令窗口而没有 U ...
- WCF学习之旅—第三个示例之三(二十九)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) 在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码.具体步骤见下面. ...
- WCF学习之旅—TcpTrace工具(二十六)
止文(WCF学习之旅—TcpTrace工具(二十五))介绍了关于TcpTrance的一种使用方式,接下来介绍第二种使用方式. 三.通过ListenUri实现基于tcpTracer的消息路由 对于路由的 ...
- WCF学习之旅—实现支持REST客户端应用(二十四)
WCF学习之旅—实现REST服务(二十二) WCF学习之旅—实现支持REST服务端应用(二十三) 在上二篇文章中简单介绍了一下RestFul与WCF支持RestFul所提供的方法,及创建一个支持RES ...
- geotrellis使用(二十五)将Geotrellis移植到spark2.0
目录 前言 升级spark到2.0 将geotrellis最新版部署到spark2.0(CDH) 总结 一.前言 事情总是变化这么快,前面刚写了一篇博客介绍如何将geotrellis移植 ...
- geotrellis使用(二十二)实时获取点状目标对应的栅格数据值
目录 前言 实现方法 总结 一.前言 其实这个功能之前已经实现,今天将其采用1.0版的方式进行了重构与完善,现将该内容进行总结. 其实这个功能很常见,比如google地球上 ...
- 无废话ExtJs 入门教程二十[数据交互:AJAX]
无废话ExtJs 入门教程二十[数据交互:AJAX] extjs技术交流,欢迎加群(521711109) 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C ...
- 二十五、JDK1.5新特性---枚举
与上篇文章介绍的相同,本文也是介绍jdk 1.5出现的新特性,本文将介绍枚举的相关用法. 在jdk 1.5 之前.Java可以有两种方式定义新类型:类和接口.对于大部分面向对象来说.这两种方法看起来似 ...
随机推荐
- [开源] FreeSql.AdminLTE.Tools 根据实体类生成后台管理代码
前言 FreeSql 发布至今已经有9个月,功能渐渐完善,自身的生态也逐步形成,早在几个月前写过一篇文章<ORM 开发环境之利器:MVC 中间件 FreeSql.AdminLTE>,您可以 ...
- 微信小程序之网络通信
关于网络通信,这里我使用的是wx.request,官方代码示例如下: wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '', y: ...
- 【定制开发】经纪人报备软件 全民经纪人系统 房产中介微信小程序分享家恒房通
信真科技2019年最先扛鼎之作 - 全民经纪人软件系统 1.含有最基础的经纪人注册.客户报备系统功能: 2.可支持定制开发,针对房企售楼部.中介门店: 3.与微信端绑定使用,方便快捷,快速分享: 4. ...
- XmlIgnore的解释和使用
XmlIgnore是一个自定义属性,用来指明在序列化时是否序列化一个属性.如下面的例子: public class Group { public string GroupName; [XmlIgnor ...
- curl保留cookie
curl -c cookie.txt http://localhost:9001/login.json?c=65CE13E16CF394D curl -b @cookie.txt http://loc ...
- 清理收藏夹中的json
1.json的字符串与对象转换 $.parseJson(str)与JSON.parse(str) 返回值是true.另:json对象和字符串的相互转换 JSON.stringify(obj) 将JSO ...
- Facets:一款Google开源机器学习数据集可视化工具
Homepage/演示网站:https://pair-code.github.io/facets/ Pypi:https://pypi.org/project/facets-overview/ Git ...
- PostgreSQL中的一些日志
1.Write Ahead Log(WAL日志)预写日志(WAL)是保证数据完整性的标准方法.在有关交易处理的大多数(如果不是全部)书籍中都可以找到详细说明. 简而言之,WAL的核心概念是,只有在记录 ...
- CentOS 7镜像下载
官网下载链接:http://isoredirect.centos.org/centos/7/isos/x86_64/ step1: 进入下载页,选择阿里云站点进行下载 Actual Country ...
- ucos III中任务之间的数据通信和任务划分
1. 如果将关系密切(比如两个任务之间需要经常收发数据)的若干功能分别用不同的任务来实现,则需要进行大量的任务之间数据通信和同步通信,这系统来说是一个很大的负担.因此应该将关系密切的若干功能组合成一个 ...