下面我们就来看看在Excel VBA程序从一个文本文件中读取数据。此文件包含我们需要一些地理坐标导入到Excel中。

现状:

Read Data from Text File using Excel VBA

1.首先下载文本文件,并将其添加到“C:\测试\”

将工作表上的一个命令按钮并添加以下代码行:

2.我们声明四个变量。 String类型,String类型,类型为String,Integer类型的posLat的一个TextLine文字的MYFILE,以及整数类型posLong。

Dim myFile As String, text As String, textline As String, posLat As Integer, posLong As Integer

3.我们需要的完整路径和文件名来初始化变量MYFILE。

myFile = "C:\test\geographical-coordinates.txt"

或使用应用程序对象的GetOpenFilename方法来显示标准打开对话框并选择文件(没有实际打开文件)。

myFile = Application.GetOpenFilename()

注:括号之间的空白部分是指我们给Excel VBA中毫无作为输入。请将您的GetOpenFilename光标Visual Basic编辑器,然后点击F1上的参数帮助。

4.添加以下代码行:

Open myFile For Input As #1

注意:此语句可以读取该文件。我们可以在我们的代码的其余部分中引用该文件为#1。

5.添加以下代码行:

Do Until EOF(1)

Line Input #1, textline

text = text & textline

Loop

注意:直到文件(EOF)的端部时,Excel VBA从该文件读取,并将其分配到一个TextLine单行。我们使用&运算符来连接(加入)的所有单一线路,并将其存储在变量文本。

6.关闭该文件。

Close #1

7.接下来,我们搜索的字的位置经度和纬度的可变文本。我们使用Instr函数。

posLat = InStr(text, "latitude")

posLong = InStr(text, "longitude")

8.我们使用这些位置和Mid函数来提取可变文本的坐标,并写入坐标的单元格A1和A2单元格。

Range("A1").Value = Mid(text, posLat + 10, 5)

Range("A2").Value = Mid(text, posLong + 11, 5)

9.测试程序。

结果:

Read Data from Text File Result