大家好,在我们日常工作的时候,有时候需要将数据保存下来,其实你殊不知更多的时候我们是将Excel源数据的文件另存为Txt文档。但是呢,如果需要将很多的工作表中的数据分别保存为文本文件,我们需要手动分别创建文本文件用于保存数据。显然在这个时候,手动操作方法并不合适,我们需要寻找使用VBA的方法来操作这个。
PS:手动创建将Excel的数据保存为文档的操作为,点击开始文件—另存为—保存类型选择文本文件-然后点击保存。
今天我们和大家介绍有2种方式可以实现这个操作,分别是OpenTextFile和CreateTextFile,这2个方法都可实现将Excel的数据另存为文档文件。
PS:如果重复运行OpenText过程将在文本文件中重复写入工作表数据,所以OpenTextFile方法更适用于对文本文件进行追加操作。
将要使用的源代码如下,代码实现的方式是一样的,唯一不同的是两个数据的操作执行方式不一样。CreateTextFile是新建一个文档,而OpenTextFile是在源文档上面增加。
Step-01 CreateText方式的操作动画如下,我们可以看到双击一下鼠标就完成将Excel文件另存为文档格式,当时我们如果有很多的工作表或者工作薄,只需要在外面加上循环操作即可进行批量另存为。我们可以发现,不管我们执行次数是多少,数据均和Excel的数据是一致的。
Step-02 OpenText方式的操作动画如下,最后我们看到的结果可能让你有点诧异,为什么是这样的呢?我们在前面已经说过如果重复运行OpenText过程将在文本文件中重复写入工作表数据,言外之意就是我们会在原来的数据上面继续增加数据,并不是一个新建过程。这点请务必注意。
当然了,运行CreText过程和OpenText过程将在示例所在的文件夹中创建一个名称为“工资表”的文本文件并将工作表数据读入到文件内。这个的前提是只运行一次,如果程序运行多次的话,那么结果就会不一致的。
以下的2点知识点,小伙伴们有兴趣的可以了解一下哈!
1、FileSystemObject对象的OpenTextFile方法打开一个指定的文件并返回一个 TextStream对象,该对象可用于对文件进行读操作或追加操作。示例中将OpenTextFile方法的iomode参数设置为8,打开文本文件后在文件的尾部进行追加操作;将create参数设置为True,如果指定的文本文件不存在则创建一个新文件。
2、FileSystemObject对象的CreateTextFile方法创建一个指定的文件并且返回一个用于该文件读写的TextStream对象,语法如下:
object.CreateTextFile(filename[, overwrite[, unicode]])
参数object是必需的,FileSystemObject对象的名字。
参数filename是必需的,需要创建的文件名称。
参数overwrite是可选的,表示是否覆盖已存在文件。如果可被覆盖其值为True,其值为False时不能覆盖,如果省略,则已存在文件不能覆盖。
参数unicode是可选的,表示文件是作为一个Unicode文件创建的还是作为一个ASCII文件创建的。如果作为一个Unicode文件创建,其值为True,作为一个ASCII 文件创建,其值为False,如果省略,则认为是一个ASCII文件。
应用于TextStream对象的WriteLine方法写入一个指定的字符串和换行符到一个TextStream文件中,语法如下:
object.WriteLine([string])
参数object是必需的,TextStream对象的名字。
参数string是可选的,要写入文件的正文。如果省略,写入一个换行符。
如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。
我是Excel教案,关注我持续分享更多的Excel技巧!
标签:文件,另存为,Excel,文档文件,文本文件,操作,数据,双击 From: https://blog.51cto.com/u_15705258/5827649