如何把数据写入顺序文件中,VBA代码中Write#语句的利用-不能打开要写入的文件

大家好,我们今日继续讲解VBA代码解决方案的第132讲内容:使用 Write #语句把数据写入打开顺序文件中。在上一讲的内容中我们讲了打开一文本文件来写入数据的两种方法有:Append或Output,那么问题来了,如何往打开的文件中写入数据呢?这一讲我们就开始讲解写入数据的方法。今天讲的是Write #语句,它会将数据写入文件。当你使用打开一个顺序文件的时候,通常使用Write #语句往该文件写入数据。

语法:Write #filenumber, [outputlist]

参数:①Filenumber正使用的文件的号码,它是Write #语句的唯一必须的参数。

②Outputlist是将要写入的文本。Outputlist可以是你要写入的单个文本字符,也可以是包含数据的变量清单。

备注:如果你只明确了文件号码,VBA就会在打开的文件里写入一个空行。

下面我们通过一个实例来演示数据是如何写入文件的:

代码:

Sub mynznewEntry()

Dim newname As String

Dim sex As String

Dim newbirthdate As Date

Dim news As Integer

Open "E:\nz\work\文章\人员表单最新版.txt" For Output As #1 '这里用的是Output

newname = "张1"

sex = "男"

newbirthdate = #1/2/1996#

news = 3

Write #1, newname, sex, newbirthdate, news

newname = "张2"

sex = "女"

newbirthdate = #5/12/1994#

news = 2

Write #1, newname, sex, newbirthdate, news

newname = "张3"

sex = "女"

newbirthdate = #4/7/1997#

news = 1

Write #1, newname, sex, newbirthdate, news

Close #1

End Sub

代码截图:

如何把数据写入顺序文件中,VBA代码中Write#语句的利用

上面的过程打开文件E:\nz\work\文章\人员表单最新版.txt来写入数据。因为该文件还不存在,所以VBA将首先创建了一个全新的文件,并写入三条记录。字符串由双引号分隔,而生日则用#号包围起来,

当我们打开文件E:\nz\work\文章\人员表单最新版.txt时,你将看到下述的记录:

如何把数据写入顺序文件中,VBA代码中Write#语句的利用

补充说明:Write #语句自动在每个数据之间插入逗号并且将行结束字符(Chr(13) & Chr(10))放在每行文本的后面,所以每行新纪录都从新的行开始。在上面的例子里面,每行文本显示一条记录—— 每条记录以姓名开始,以最后的数字结束。

那么,上述的过程有没有简单的方法来录入呢?把工作表中的数据如何写入文本文件中呢?由于篇幅的原因,这能在《VBA代码解决方案》第三册的内容中再详细的介绍了,和上述代码的思路是一致的。

今日内容回向:

1 如何往文件中写入数据呢?

2 Write #语句写入数据有什么特点呢?

推荐阅读