除非注明,文章均为 战战如疯 原创,转载请保留链接: http://www.zhanzhanrufeng.com/cat4/490.html,VBA交流群273624828。
看到有网友说想要将txt文本中的字符串直接赋值给参数,这个问题其实是很常见的,在VBA的编辑界面,如果我们需要一个很长的字符串做为某个字符串型变量的值,一是书写起来很麻烦,二是字符串是有一定的长度限制的(好像最长是65536,待考证)。但是如果这个字条串是从其它文件赋值过来的则不存在长度限制这个问题了,比如我们经常用到的网页抓取,每次获得的返回文本动辄10多万,但我们仍然可以把它赋值给一个字符串变量然后去处理它,从txt文件中得到的字符串也是相同的,不存在长度的限制。
其实将txt中的内容赋值给字符串变量和我们前面讲过的将txt文件导入excel是完全相同的,只不过这次不是放在单元格里,而是放在一个变量里,下面看一个过程代码
Sub test()
Dim mypath, myfile, s
mypath = ThisWorkbook.Path
myfile = mypath & "\新建文本文档.txt"
Open myfile For Input As #1
s = StrConv(InputB(LOF(1), 1), vbUnicode)
Close #1
MsgBox s
End Sub
就是我们前面讲过的Input方法,将其改装为一个函数就是
Function GetTXT(ByVal myfile As String)
Open myfile For Input As #1
GetTXT = StrConv(InputB(LOF(1), 1), vbUnicode)
Close #1
End Function
参数myfile是txt的完整路径,那样上面的代码就可以变成
Sub test()
Dim mypath, myfile, s
mypath = ThisWorkbook.Path
myfile = mypath & "\新建文本文档.txt"
s = GetTXT(myfile)
MsgBox s
End Sub
就是这么简单。
联系客服