我使用 PowerQuery 从数据库创建表并管理文件。
我需要将一些文件移动到特定文件夹,具体取决于某些列中的值。不需要在我的 VBA 代码中检查这些,所有各种检查都是使用 PowerQuery 完成的。
实际上我的表格中还有更多列,但我在宏中查看的 3 就是那些 3。
原住民名称 | 新本地名称 | 完整路径 ew文件夹 |
---|---|---|
完整路径文件夹1新文件名1 | 完整路径文件夹1新文件名1 | 完整路径文件夹1 |
完整路径文件夹2 | ||
完整路径文件夹1文件名3 | 完整路径文件夹1新文件名3 | 完整路径文件夹1 |
我的VBA代码只是移动生成的表中列出的文件。 有些行是空白的,因为没有文件或不需要重命名(但需要其他列,所以我无法完全删除我的行)。 如果需要,我需要在移动文件之前创建该文件夹。但我还需要跳过空白行,在这里我有错误。
我最后一次尝试的代码如下,我尝试跳过重命名。
Sub Move_Native()
Dim TAncNouv(), L&
Dim Fobj As Object
Set Fobj = CreateObject("scripting.filesystemobject")
ChDrive ThisWorkbook.Path: ChDir ThisWorkbook.Path
TAncNouv = ActiveSheet.Range("xml_ENGDOC[OriginalNativeName]").Resize(, 3).Value
For L = 1 To UBound(TAncNouv, 1)
If Fobj.FolderExists(TAncNouv(L, 3)) = False Then
MkDir (TAncNouv(L, 3))
End If
If IsEmpty(TAncNouv(L, 1)) = True Then
Else
Name TAncNouv(L, 1) As TAncNouv(L, 2)
End If
Next L
End Sub
但我还有一个:
运行时错误“75”:路径/文件访问错误
图像:调试器显示空单元格发生错误 所以这意味着我没有正确跳过。我做错了什么?我该怎么做才能跳过这一部分?
提前致谢
IsEmpty
设计用于对象,以识别它们是否已初始化。你不应该以这种方式在单元对象上使用它们。
要测试单元格是否不包含数据,请使用:
If TAncNouv(L, 1) =vbNullString