vba - 将输出写入文本文件
问题描述
我需要找到 RND -1 生成的前 20,000 个随机数。我编写了以下代码,它允许我在即时窗口中查看这些数字:
Sub xx()
Dim i As Long
Rnd -1
For i = 1 To 20000
Debug.Print Rnd
Next i
End Sub
但是,只有最后 199 行存储在那里供我复制和粘贴。如何将整个输出写入文本文件?
非常感谢
解决方案
您可以使用FileSystemObject
. 有关模块中的工作代码,请参见下面的示例:
Global fso As New FileSystemObject
Public Function GenRandomNumbers(ByVal n As Long) As String
Dim i As Long
Dim res As String
Rnd -1
For i = 1 To n
res = res & CStr(Rnd()) & vbCrLf
Next i
GenRandomNumbers = res
End Function
Public Sub WriteRandomNumbers(ByVal n As Long, ByVal filename As String)
Dim fs As TextStream
Set fs = fso.CreateTextFile(filename, Overwrite:=True)
fs.Write GenRandomNumbers(n)
fs.Close
End Sub
在即时窗口中,您可以编写:
WriteRandomNumbers 20000, "Result.txt"
推荐阅读
- r - R嵌套循环搜索和替换非常慢
- javascript - 端点应返回唯一标识符,以便 API 使用者可以追溯到最初上传的文件
- javascript - NestJS 中的 ValidationPipe 用于键值对对象
- logstash - udp 插件中的 Logstash 多行编解码器抛出错误
- amazon-web-services - 通过 IoT 核心规则(通过 SQL time_to_epoch)传递时间戳时,数据未插入到 Timestream 表中
- assembly - 我使用条件在z80 PIO中制作了一个程序,但结果不同
- entity-framework - .net Core EF 尝试通过查询创建组
- amazon-web-services - 如何将 aws 实例制作为托管实例?
- python-3.x - Django:如果模型尚不存在,序列化程序会在迁移中引发异常
- r - 在 LDA 中查找数据已分配到的三个类别的均值