从文本文件中读取文本时遇到问题。这是创建文本文件的代码(如果它不存在),然后在文件中输入文本:
Dim fso, strUser, strUserInit, strUserData, strNewFile
Dim strGetUser, strNextUser, strInit
Const ForReading = 1, ForWriting = 2, ForAppending = 8
' %user% contains USERPROFILE (C:\Users\username) gathered earlier from Macro Express
strUser = "%user%"
strUserInit = strUser & "\Documents\UserInitFile.txt"
If fso.FileExists(strUserInit) Then
' Do nothing
Else
strUserData = UCase(InputBox("Please enter your first and last initials (ex. John Doe = JD)", "Enter Initials"))
Set strNewFile = fso.CreateTextFile(strUserInit, ForWriting, True)
strNewFile.WriteLine(strUserData)
strNewFile.Close
End If
Set strGetUser = fso.OpenTextFile(strUserInit, ForReading)
Do Until strGetUser.AtEndOfStream
strNextUser = strGetUser.ReadAll
Loop
strInit = Left(strNextUser, 2)
正在发生的事情是,当提示输入第一个和最后一个首字母时,我输入首字母“LP”。但是,当我从文件中读取时,它们最终成为“ÿþ”。我查看了创建的文件并显示“LP”。从文件读取时如何防止文本被转换?我出于其他原因使用了相同的确切代码,从文件中读取时从未转换过文本。