excel - 使用 ADODB 重命名 txt 文件而不创建新文件
问题描述
我的问题:我有很多要重命名的文本文件。我一直在使用 ADODB.Stream 对象来打开/读取/写入文件,因为它们是用 UTF-8 编码的。所以现在,如果可能的话,我想重命名文件而不复制它们的内容,将它们的内容写入具有所需名称的新文件并删除旧文件。文档上的时间戳对我来说是很有价值的信息,这就是我不想创建新文件的原因。
这是我当前的解决方法,它创建新文件并删除旧文件。代码问题:1) 复制的文件有新的时间戳 2) 新行不会被复制到新行中。由于它们包含某种 XML 代码,因此生成的文件变得难以阅读。我需要编写一段代码,在复制后在所有适当的位置设置新行。
Sub renameModules()
Dim currentTXT As Variant, newTxt As Variant
Dim currentPath As String, newPath As String
Dim currentContent As String
currentPath = "C:\Users\Me\Desktop\Test\MyCurrent.txt"
newPath = "C:\Users\Me\Desktop\Test\Target001.txt"
Set currentTXT = CreateObject("ADODB.Stream")
currentTXT.Charset = "utf-8"
currentTXT.Open
currentTXT.LoadFromFile (currentPath)
currentContent = currentTXT.ReadText()
Set newTxt = CreateObject("ADODB.Stream")
newTxt.Charset = "utf-8"
newTxt.Open
newTxt.WriteText currentContent
newTxt.savetofile newPath, 1
Kill currentPath
End Sub
为简单起见,我只包括了基本步骤,并省略了所有错误处理。
我的目标:找到一些方法来简单地重命名当前文件而不用摆弄它的内容。
解决方案
无需处理ADODB.Stream
:您不仅可以使用 VBA 命令name
重命名文件,还可以将其移动到不同的文件夹:
Name currentPath As newPath
推荐阅读
- spss - SPSS 26:如何计算重复测量得分的绝对差异以创建累积频率表
- javascript - 将对象内的所有字符串匹配并替换为来自另一个对象的字符串
- python - 如何在班级成员上使用装饰器?
- c# - 有没有办法等待函数中的标志更改?
- python - 在多维 numpy 数组的每个索引处切片不同的范围
- python - 用于保存数据的优秀 Python 模块
- wordpress - Wordpress 帮助(WPForms + PayPal 工作流程)
- sql - sql如何从每个用户的加入计数中获得前5名
- algorithm - 有哪些真正的迭代深度优先搜索实施建议?
- javascript - 数组的许多特定对象属性