分享

Excel VBA 将数据导出为文档文件,操作太繁琐,仅需鼠标双击即可

 Chosefree 2019-09-23

前言:大家好,在我们日常工作的时候,有时候需要将数据保存下来,其实你殊不知更多的时候我们是将Excel源数据的文件另存为Txt文档。但是呢,如果需要将很多的工作表中的数据分别保存为文本文件,我们需要手动分别创建文本文件用于保存数据。显然在这个时候,手动操作方法并不合适,我们需要寻找使用VBA的方法来操作这个。

PS:手动创建将Excel的数据保存为文档的操作为,点击开始文件—另存为—保存类型选择文本文件-然后点击保存。

今天我们和大家介绍有2种方式可以实现这个操作,分别是OpenTextFile和CreateTextFile,这2个方法都可实现将Excel的数据另存为文档文件。

PS:如果重复运行OpenText过程将在文本文件中重复写入工作表数据,所以OpenTextFile方法更适用于对文本文件进行追加操作。

将要使用的源代码如下,代码实现的方式是一样的,唯一不同的是两个数据的操作执行方式不一样。CreateTextFile是新建一个文档,而OpenTextFile是在源文档上面增加。

Step-01 CreateText方式的操作动画如下,我们可以看到双击一下鼠标就完成将Excel文件另存为文档格式,当时我们如果有很多的工作表或者工作薄,只需要在外面加上循环操作即可进行批量另存为。我们可以发现,不管我们执行次数是多少,数据均和Excel的数据是一致的。

GIF

Step-01 OpenText方式的操作动画如下,最后我们看到的结果可能让你有点诧异,为什么是这样的呢?我们在前面已经说过如果重复运行OpenText过程将在文本文件中重复写入工作表数据,言外之意就是我们会在原来的数据上面继续增加数据,并不是一个新建过程。这点请务必注意。

GIF

当然了,运行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是可选的,要写入文件的正文。如果省略,写入一个换行符。

如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多