无法在映射的驱动器上找到新文件夹

时间:2017-12-06 01:34:51

标签: excel excel-vba sharepoint connection mapping vba

我创建了一个宏,可以自动将当前工作簿上传到sharepoint触发宏。 宏成功,将文件上传到映射到驱动器的sharepoint文件夹。

但是,如果在时间之前创建SharePoint文件夹,则宏仅成功。例如。可能提前1天。

如果新创建了文件夹,则无法以Sorry there's no such folder的形式上传到该文件夹​​。

如果我转到窗口浏览器上的驱动器,我将能够看到新创建的文件夹。 我还尝试复制msg框中显示的文件路径并输入window explorer,它会将我引导到没有问题的文件夹。

有没有办法可以加快这个过程,为什么会这样?

宏观IF声明

If Dir(spPath) = "" Then
    MsgBox "Sorry there's no such folder. Folder Path: " & vbNewLine & vbNewLine & spPath & ""
    Call UnMapDrive(drive)
    Exit Sub
    ElseIf Not Dir(spPath & fileName) = "" Then
    MsgBox("File Already Exist!!!")
    ElseIf Dir(spPath & fileName) = "" Then
    FolderCreate (path)
    ThisWorkbook.SaveCopyAs copyPath & fileName
    Call FileCopy(path & fileName, spPath & fileName)
    MsgBox "File Successfully uploaded to SharePoint."
    Kill (path) & "*.*"
    RmDir path
    Call UnMapDrive(drive)
End If

1 个答案:

答案 0 :(得分:1)

更改

If Dir(spPath) = "" Then

If Dir(spPath, vbDirectory) = "" Then

在有人将文件放入目录之前(可能是创建目录后的第二天),您的代码在那里看不到任何文件(因为没有任何文件)。通过添加vbDirectory,它将查找目录本身。