1,453
社区成员
发帖
与我相关
我的任务
分享
'我这里引用了 Microsoft Scripting Runtime 为的是能创建 c:\liti 文件夹
'你照我例题做的要记得引用 明白思路后做你自己题目可以忽略这一步
Dim sfo As New FileSystemObject '声明sfo(好像叫这个sof 又好象是这个 管它呢 反正只是一个变量名)
Private Sub 生成txt() '该过程生成txt 就是你说的那100个 txt 文件
For i = 1 To 100
For j = 1 To 50
a = a & i & "文本内容" & j & vbCrLf
Next j
Open "c:\liti\" & Right("000" & i, 3) & ".txt" For Output As #1
Print #1, a
Close #1
a = ""
Next i
End Sub
Private Sub Command1_Click()
Dim 随机文件名 As String
Randomize
随机文件名 = "c:\liti\" & File1.List(Int(Rnd * (File1.ListCount)))
For i = 1 To 1000
Open 随机文件名 For Input As #1 '先打开随机获取的txt 把数据放到list中
Do While EOF(1) = False
Line Input #1, a
If a <> "" Then List1.AddItem a
Loop
Close #1
sfo.DeleteFile 随机文件名 ' 打开获取数据后删除这个文件
变量1 = Int(Rnd * (List1.ListCount)) '获取随机一项目号
变量2 = List1.List(变量1) '变量存储它
List1.RemoveItem 变量1 '删除这个项目
Open 随机文件名 For Output As #1 '前面删了再建一个同样名字的文本文件
For j = 0 To List1.ListCount - 1 '循环把list内容改为一个变量存储的数据
ss = ss & List1.List(j) & vbCrLf
Next j
Print #1, ss '向建立的文本里写入修改后的数据
ss = ""
Close #1
File1.Refresh
随机文件名 = "c:\liti\" & File1.List(Int(Rnd * (File1.ListCount)))
Open 随机文件名 For Input As #1
Do While EOF(1) = False
Line Input #1, a
If a <> "" Then List2.AddItem a
Loop
Close #1
sfo.DeleteFile 随机文件名
List2.AddItem 变量2
Open 随机文件名 For Output As #1
For j = 0 To List2.ListCount - 1 '循环把list内容改为一个变量存储的数据
ss = ss & List2.List(j) & vbCrLf
Next j
Print #1, ss '向建立的文本里写入修改后的数据
ss = ""
Close #1
File1.Refresh
List1.Clear
List2.Clear
Next i
End Sub
Private Sub Form_Load()
If sfo.FolderExists("c:\liti") = False Then '若没有这个文件夹
sfo.CreateFolder "c:\liti" '就生成这个文件夹
Call 生成txt '向里面写入100个txt
End If
File1.Path = "c:\liti" '设置指向的目录
List1.Visible = False
List2.Visible = False
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, n(1 To 100) As Integer
Dim strTmp As String, r As Integer
'Read all lines of all files
For i = 1 To 100
Open "c:\" & CStr(i) & ".txt" For Input As #1
Do Until EOF(1)
Line Input #1, strTmp
List1.AddItem strTmp
n(i) = n(i) + 1
Loop
Close #1
Next i
Randomize
For i = 1 To 100
Open "c:\" & CStr(i) & "New.txt" For Output As #1
For j = 1 To n(i)
r = Rnd * List1.ListCount - 1
Print #1, List1.List(r)
List1.RemoveItem r
Next j
Close #1
Next i
End Sub
randomize
set fso=createobject("scripting.filesystemobject")
set a=createobject("scripting.dictionary")
i=int(rnd*100)
i2=i+1
set file=fso.opentextfile(""&i&".txt")
do while file.atendofstream<>true
m=m+1
a.add m,file.readline
loop
file.close
h=int(rnd*m)
msgbox "" & a(h) ,4096,""
xieru=""&a(h)&""
set file1=fso.opentextfile(""&i2&".txt",8,true)
file1.writeline(xieru)
file1.close