新建一个VB工程 添加一个Command按钮控件 使用下面的代码即可得到你想要的结果文件
Private Sub Command1_Click()
Open "c:\test.txt" For Output As #1
For i = 12345 To 456789
p = 0
For k = 1 To 6
s = InStr(1, Format(i, "000000"), Mid(Format(i, "000000"), k, 1), vbBinaryCompare)
Do While s > 0
p = p + 1
s = InStr(s + 1, Format(i, "000000"), Mid(Format(i, "000000"), k, 1), vbBinaryCompare)
Loop
Next k
DoEvents
If p = 6 Then Print #1, Format(i, "000000"): Command1.Caption = Format(i, "000000")
Next i
Close #1
End Sub
在我的破电脑上 运行全过程耗时55秒 最后生成的结果文件 C:\test.txt 大小为532KB
如果中途要暂停 那就把变量i写进另外一个文件 下次恢复的时候 从i开始循环起 就可以了 不要从12345开始
如果程序代码改成这样的话
Private Sub Command1_Click()
Open "c:\test.txt" For Output As #1
For i = 12345 To 456789
p = 0
w = Format(i, "000000")
For k = 1 To 6
s = InStr(1, w, Mid(w, k, 1), vbBinaryCompare)
Do While s > 0
p = p + 1
s = InStr(s + 1, w, Mid(w, k, 1), vbBinaryCompare)
Loop
Next k
If p = 6 Then Print #1, w
Next i
Close #1
MsgBox "计算完成,请查看c:\test.txt"
End Sub
那只需要 4~7秒的时间 就可以计算完成了
温馨提示:答案为网友推荐,仅供参考