VBA FreeFile |如何在Excel VBA中使用FreeFile函数?

Excel VBA FreeFile

FreeFile是VBA中的一个功能,只能作为VBA功能使用,而不能作为工作表功能使用。 VBA FreeFile函数将唯一的整数返回给打开的文件,并保留该数字作为下一个可用文件的编号。

通常,我们从计算机中打开文件以写东西或只读文件,而在引用这些文件时,我们必须使用唯一的整数来引用。 VBA FreeFile函数使我们能够确定要分配给打开文件以使用VBA读取,写入和打开文件的唯一整数。

现在来看一下OPEN语句的语法。

OPEN [文件路径地址]用于[打开模式]作为[文件编号]

文件路径地址: 我们需要提及我们要打开的计算机上的文件地址。

开启方式: 在打开文件时,我们需要知道我们将应用哪种模型。我们可以在这里使用三种模式,“输入模式”,“输出模式”和“附加模式”。

输入模式仅读取文件。

输出模式可擦除现有数据并插入新数据。

追加模式可在保留现有数据的同时添加新数据。

文件编号: 有了这个参数,我们可以引用我们要打开的文件。 “ FreeFile”函数在其中起着至关重要的作用,并返回唯一的整数。

如何在Excel VBA中使用FreeFile函数?

您可以在此处下载此VBA FreeFile Excel模板– VBA FreeFile Excel模板

现在,看下面的代码。

代码:

 Sub FreeFile_Example1()昏暗的路径作为字符串昏暗的FileNumber作为整数路径=“ D:\ Articles \ 2019 \ File 1.txt” FileNumber = FreeFile输出的开放路径为FileNumber路径=“ D:\ Articles \ 2019 \ File 2.txt “ FileNumber = FreeFile打开路径,输出为FileNumber结束子 

现在,让我对上面的代码进行解码,以供您理解。

首先,我声明了两个变量。

 暗淡路径为字符串,暗淡FileNumber为整数 

然后,我给文件路径指定了名称。

路径=“ D:\ Articles \ 2019 \ File 1.txt”

然后为另一个变量,我分配了FREEFILE函数。

FileNumber = FreeFile

然后,我使用Open语句在上述文件路径中打开文本文件。

 打开路径作为文件号输出

好的,现在我将通过按F8键逐行运行代码,并查看变量“ FileNumber”的值。

它显示的文件编号为1。因此,免费文件功能会自动将此编号保留到打开的文件中。运行此文件时,不会打开其他文件。

现在,我将继续执行VBA代码的下一行,并查看跳至下一行的文件号。

现在说2。所以FreeFile函数将唯一的整数2保留到第二个打开的文件中。

如果我们关闭Excel文件,则FreeFile函数始终返回1

我们需要看的一件事是,如果我们在打开第二个excel文件之前关闭打开的文件,则VBA“ FreeFile”函数始终返回1。

例如,看下面的代码。

代码:

 Sub FreeFile_Example2()昏暗路径作为字符串昏暗FileNumber作为整数路径=“ D:\ Articles \ 2019 \ File 1.txt” FileNumber = FreeFile输出的输出路径为FileNumber关闭FileNumber路径=“ D:\ Articles \ 2019 \ File 2 .txt“ FileNumber = FreeFile输出为FileNumber的打开路径Close FileNumber结束子 

现在,我将再次按F8键逐行执行代码。

像往常一样说1。

现在,我将进入一个新的水平。

即使在第二次尝试中也显示1。

这样做的原因是因为我们使用了Close文件语句FreeFile将新打开的文件识别为新文件,并返回整数1。