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
函数来处理这个问题,首先将你的文本文件中的stringsText
variables中。
之后,使用Mid
function:
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