VBS 如何读取指定文本每行的内容?

求高手写出代码并添加注释
2024-12-04 18:34:58
推荐回答(3个)
回答1:

byval必选,默认byref,是不能返回变量值的

public function Readfile(byval file) '函数名readfile,子变量file
Set fsofile = CreateObject("scripting.filesystemobject") '创建对象 "filesystemobject部件"
readfile=fsofile.opentextfile(file).readall '读取全文
end function

函数使用方法, readfile file文件名

再给你一个写个函数..

Public Function mkFile(ByVal File, ByVal Writes)
On Error Resume Next '出错时不中断程序
Set fsofile = CreateObject("scripting.filesystemobject")
If Right(File, 1) = "/" Then '判断变量file右边倒数第一个字符是否有字符串/
fs = Replace(File, "/", "") '删除变量file的字符串/
Read = fsofile.opentextfile(fs).readall '方法一样.都是读取全文
If Right(Read, 2) <> vbCrLf And Len(Read) > 0 Then Read = Read & vbCrLf '这里是判断文本追加
fsofile.Createtextfile(fs).Writeline Read & Writes '创建并写入文件(会追加到文本尾)
Else
fsofile.Createtextfile(File).Write Writes '创建并写入(会覆盖)
End If
End Function

函数用法 mkfile file文件名(字符串最后面如果有/,则追加文本.没有则覆盖文本),writes写入的字符

function(自定义函数)默认是public(全局声明),可加可不加.
end function .以end结束函数

回答2:

Set Fsys=CreateObject("Scripting.FileSystemObject") '创建对象
set fso=Fsys.opentextfile("2.txt",1) '2.txt可以换成你指定的文本
do while fso.atendofstream<>true '这个是只要不是文件的结尾,
txt = fso.readline '就按行读取内容,
msgbox txt '并用msgbox弹出框显示出这一行的内容
loop '循环
set fso = nothing '把创建的对象结束掉

回答3:

'给你写个函数吧,看注释
getstringline "C:\Inetpub\cument.txt",3 '调用函数,参数:文档路径,行数

Function getStringLine(fileName,lineNumber)
dim str '定义一个变量返回结果
Set fso=createobject("scripting.filesystemobject") '创建对象
set f=fso.opentextFile(fileName) '打开文档
On error resume next '忽略错误
For i=2 to lineNumber '循环
f.skipline() '跳掉下一行
Next
str=f.readline() '把结果赋给变量
msgbox str '显示结果
set f=nothing '释放对象
getStringLine=str
End Function