我从这里的一位好人那里收到了这段代码,他们愿意花时间和精力与菜鸟分享他们的知识:
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/