龙空技术网

VBA读取文件内容,LineInput语句浅显易懂

江觅 376

前言:

此刻朋友们对“vb怎么读取txt”大概比较注意,大家都想要学习一些“vb怎么读取txt”的相关内容。那么小编同时在网络上收集了一些对于“vb怎么读取txt””的相关文章,希望兄弟们能喜欢,同学们快快来了解一下吧!

No.1

对文件操作,vba也有其独特的方法,本节介绍一下,如何读取文本文件内容,按行进行读取。

首先要认识一下Line Input #语句,它的功能就是进行文件读取,并把读取的内容保存给一个字符串变量。

Line Inpu语法如下图所示:

使用本语句之前还有一些操作需要做,那就是要首先找到并打开文件。

本节不重点介绍打开文件以及判断文件是否存在的方法,为了更加关注重点,对读取文件进行一个说明。

No.2

示例

下图为例,将打开文本文件lineinput.txt,然后逐行显示出来。

文本文件的内容如下图所示:

调试过程中,文本文件尽量别太大了,不然Msgbox函数不能全部显示。

另外对于vba显示汉字也有些特别的限制,由于文本文件格式的不同,可能出现乱码现象。

No.3

代码

代码很简单,没几行,简单的了解一下。

Private Sub CommandButton1_Click()Dim Str As StringDim textFiles As StringClose #1'关闭已经打开的文件textFiles = ThisWorkbook.Path & "\txt\lineinput.txt"'设置文件以及路径Open textFiles For Input As #1'打开文件Do While Not EOF(1)'循环遍历文件行,如果不是尾行就循环    Line Input #1, Str'将行字符保存到变量Str    MsgBox VBA.CStr(Str)'对话框输入行内容LoopEnd Sub

通过以上代码,可以清楚地看到,对一个文件进行输出的一个过程。

其中Line Input #1,Str是本节要重点掌握的内容。

它表示将文件号1#的文件,以行形式保存到字符变量Str中。

那么Str中的值就是读取到的行内容。

那么就出现一个问题,代码是如何判断怎么样就是一个行尾的标志呢?

看下面的介绍:

Line Input # 语句在文件中一次读取一个字符, 直到遇到回车 (chr(13)) 或回车换行符 (Chr(13) + Chr(10)) 序列。 回车-换行序列将被跳过,而不是附加到字符串后面。

也就是说当读到回车或回车换行行符的时候表示一行结束。并且这两个符号不会被赋值给变量。

明白这一点就会使用Line Input #1语句了。

欢迎关注、收藏

---END---

标签: #vb怎么读取txt