vba - Microsoft Access VBA - 编辑文本文件
问题描述
我正在尝试使用 Microsoft access vba 编辑文本文件。我想要做的是从文本文件中删除所有逗号。
我在网上尝试了一些代码,它非常适合我的测试文件。
用“”替换文件中的“,”的代码是什么</p>
但是,当我尝试在我的实际文本文件上运行它时,访问将变为无响应,我等了 2 小时,但仍然没有响应。
我不确定是不是因为我的数据太大,我的文本文件大小为 417MB。
有没有人可以给我建议?谢谢!
我正在使用的代码
Private Sub Click()
Dim sBuf As String
Dim sTemp As String
Dim iFileNum As Integer
Dim sFileName As String
sFileName = "C:123\123\data.txt"
iFileNum = FreeFile
Open sFileName For Input As iFileNum
Do Until EOF(iFileNum)
Line Input #iFileNum, sBuf
sTemp = sTemp & sBuf & vbCrLf
Loop
Close iFileNum
sTemp = Replace(sTemp, ",", "")
iFileNum = FreeFile
Open sFileName For Output As iFileNum
Print #iFileNum, sTemp
Close iFileNum
End Sub
解决方案
这一行:
sTemp = sTemp & sBuf & vbCrLf
可能是什么扼杀了你的表现。请参阅此处的讨论:使用预制的 Stringbuilder 类
您会发现逐行处理文件并写入不同的文件会更快。还可以保持原始文件完好无损,以防万一您犯了错误...
Private Sub Click()
Dim sBuf As String
Dim iFileNum As Integer, iFileNum2 As Integer
Dim sFileName As String, sFileNameOut As String
sFileName = "C:123\123\data.txt"
sFileNameOut = "C:123\123\data_out.txt"
iFileNum = FreeFile
Open sFileName For Input As iFileNum
iFileNum2 = FreeFile
Open sFileNameOut For Output As iFileNum2
Do Until EOF(iFileNum)
Line Input #iFileNum, sBuf
Write #iFileNum2, Replace(sBuf, ",", "")
Loop
Close iFileNum
Close iFileNum2
End Sub
推荐阅读
- ruby-on-rails - 从 json 对象 ruby 列表创建列表列表
- python - python ImportError Openvino通过脚本和shell
- rxjs - 将 RxJS 版本 5 与 ionic 4 一起使用
- python - K折交叉验证
- oracle-adf - 如何将开始日期分配给结束日期
- php - 我的 single.php 在 wordpress 中没有任何作用
- java - Spring Data Projections - ClassCastException - 为扩展类的实体制作投影
- qtspim - 为什么 jal 主要错误(jal 0x00000000 [main])
- c# - 在 Xamarin.Forms 中,在向页面添加 ScrollView 后,我的所有单击事件都停止工作。ScrollView 是否拦截了点击?
- db2 - 在一个 DB2 存储过程中声明全局临时表、插入和删除语句