vba - VBA 中的 "Dim fso, MyFile, FileName, TextLine"

我从这里的一位好人那里收到了这段代码,他们愿意花时间和精力与菜鸟分享他们的知识:

Sub ReadLinesFromAFileOneAfterAnother ()
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, MyFile, FileName, TextLine

Set fso = CreateObject("Scripting.FileSystemObject")

FileName = "c:\testfile.txt"

Set MyFile = fso.OpenTextFile(FileName, ForReading)

'' Read from the file
Do While MyFile.AtEndOfStream <> True
    TextLine = MyFile.ReadLine

    '' Do stuff to TextLine

Loop
MyFile.Close
End Sub

虽然我知道这段代码执行什么任务,但我仍然想知道它的每个元素的含义和作用。请任何人向我解释这段代码的第三行是关于什么的:

Dim fso, MyFile, FileName, TextLine

首先什么是“fso”?我知道它代表“文件系统对象”,但它并没有向我解释它到底是什么以及它完成了什么。下面这三个词是什么意思(“MyFile”、“FileName”、“TextLine”)?它们是某种东西的某种参数吗?

我读过这个: http://msdn.microsoft.com/en-us/library/h7se9d4f(VS.85).aspx

还有这个:http://msdn.microsoft.com/en-us/library/ebkhfaaz(VS.85).aspx

但感觉这些 Material 是为那些自己会写的人写的——我几乎什么都不懂。有些事情,当然,或多或少是清楚的,但是还有很多其他的术语和词我不知道!最终,没有一幅完整而清晰的图画。

所以,我放弃了,决定回到这里。这个网站可能是互联网上为数不多的网站之一(事实上我还没有见过其他任何网站)在其规则中声明:“没有问题太琐碎或太“新手””。这为我提供了一种提出当前问题的理由。

所以,请任何人用简单的术语向我解释什么是“fso”。准确地说,上面代码的第三行是关于什么的。

提前谢谢大家。

最佳答案

代码行:

Dim fso, MyFile, FileName, TextLine

声明类型为 variant 的“变量”。

变量是内存中的一小块空间,具有名称和类型。您使用它们让程序知道您稍后将在代码中使用它们。

通常你会给变量一个类型(如整数或字符串),但编码器没有,所以它默认为变体,它可以采用任何类型(本质上)。

完成后:

Set fso = CreateObject("Scripting.FileSystemObject")

然后 fso 包含一些可以对文件系统执行操作的代码。

Set MyFile = fso.OpenTextFile(FileName, ForReading)

意味着您正在使用 fso 功能打开您在“文件名”变量中指定的文件名,并且您已经在“我的文件”变量中放置了对它的引用。

因此您可以使用 myfile 变量对该文件做进一步的操作。

“do while”循环一次读取该文件一行 (myfile.readline),并将结果放入“textline”变量中,每次遍历时,该变量都保存来自文件的不同文本行循环,直到文件完成。

这段代码的想法是逐行读取文件,当你遇到它时,对每一行的内容进行处理。您可以打印它、记录它、向用户显示它等,如子标题所示!

老实说,VB 的基础知识对于您理解此类代码至关重要,因此我建议您寻找在线教程或书籍。

关于vba - VBA 中的 "Dim fso, MyFile, FileName, TextLine"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1722196/

相关文章:

xml - 对齐 ="right"在 XML 中不起作用

perl - 我如何检查一个值是否在 Perl 的列表中?

sql-server - 在数据库中存储 & 符号

php - eval {php} 条件

.net - 在运行时替换 .NET 类型

oracle - 如何使用 pl/sql 循环接受用户输入?

php - preg_replace : how do I strip off all white

sql-server - UPDATE 表中除 TOP 1 记录外的记录

oracle - 关闭 Oracle 中的索引

css - 如何使用 Notepad++ 将 css long 转换为 css one line s