Excel VBA – 在第n个字符后读取记事本文件

我有一段代码可以读取记事本文件的前2个字符。 以下是代码:

Public Sub extractInt() Dim sText As String Open "C:\ProgramData\regid.512-06.com.system.microsoft\regid.512-06.com.system.microsoft.12606768.dat" For Input As #1 sText = Input$(2, 1) Close #1 Worksheets("ED").Range("C01").Value = sText End Sub 

这是行之有效的,但现在我想读第六个字符后。

例如,如果记事本文件中的string是:

 "abcefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" 

我想读"hijkl"

希望你们能给一些帮助。

只要改变Input$的参数并使用Right

Input$(Number_of_Chars_To_Return, [#]NumFile)
Right(String,Number_of_Chars_From_the_Right)

 Public Sub extractInt() Dim sText As String Open "C:\ProgramData\regid.512-06.com.system.microsoft\regid.512-06.com.system.microsoft.12606768.dat" For Input As #1 sText = Right(Input$(11, #1), 5) Close #1 Worksheets("ED").Range("C01").Value = sText End Sub 

你可以使用Mid函数来处理这个问题,首先将你的文本文件中的stringsTextvariables中。

之后,使用Midfunction:

 sText = Mid(sText, 7, Len(sText) - 6) 

Mid函数说明: MSDN

 Public Sub extractInt() Dim sText As String Open "C:\ProgramData\regid.512-06.com.system.microsoft\regid.512-06.com.system.microsoft.12606768.dat" For Input As #1 Input #1, sText sText = Mid(sText, 7, Len(sText) - 6) Close #1 Worksheets("ED").Range("C01").Value = sText End Sub