excel - 搜索目录中的随机文件列表并根据单元格值重命名文件
问题描述
编辑:包括我的代码。
我对 VBA 还是比较陌生,所以请多多包涵:
我正在尝试编写一个代码,该代码将遍历文件夹并遍历所有文件(文件名将是随机的)并根据特定单元格的值重命名它们,在我的情况下为 C12。举个例子:
如果文件中的 C12 = A,则文件名应为 1,如果文件中的 C12 = B,则文件名应为 2,如果 C = 3,依此类推。
我整理了以下代码:
Let Files = Dir(Path & "\*.xlsx")
Do While Files <> ""
Set X = Workbooks.Open(Path & "\*.xlsx", True, True)
X.Saved = True
If X.Sheets("Sheet1").Range("C12").Value = "VALUE1" Then
Name Path & File As Path & NAME1
X.Close
ElseIf X.Sheets("Sheet1").Range("C12").Value = "VALUE2" Then
Name Path & File As Path & NAME2
X.Close
End If
File = Dir()
Loop
按照我的理解,代码应该遍历每个文件(因为File = Dir()
),打开它并运行上面的 IF 语句,重命名文件,然后转到目录中的下一个文件并执行相同操作。但是当我运行它时,它每次只打开同一个文件。关于为什么的任何想法?
希望这是有道理的。谢谢!
解决方案
找到了解决方案,从一个很好的解释为什么它在这篇文章中不起作用:Excel VBA Dir loop failed when open and close command added within loop
按照 YowE3K 的建议添加了一个额外的子,现在效果很好!
推荐阅读
- r - GGanimate:带有数值的 geom_text 以十进制数字而不是整数进行动画处理
- python - 使用 tensorflow 后端指定 GPU ID
- c# - Identity Server (OpenID Connect) 混合流程:需要用户使用刷新令牌保持登录状态 5 年
- javascript - 为什么不应该使用内联 JavaScript?
- google-assistant-sdk - 谷歌嵌入式助手服务在包含时给出关于 text_config 缺失的错误
- python - Pandas 将两个数据帧相乘得到乘积
- wordpress - 按功能更改 xml 自定义提要后出错
- java - 在java中将不同的对象添加到列表中
- java - Java / Jackson - 'Unrecognized token' 传递 JSON 对象参数
- javascript - 如何使用 NodeJS 应用程序文件动态地将 CSS 和 JS 排入页面