为什么我可以从一个电子表格而不是另一个电子表格中使用vba连接到sharepoint站点

时间:2018-02-21 11:23:49

标签: excel vba excel-vba sharepoint

我有一个奇怪的问题,我可以使用vba脚本连接并上传文件到sharepoint站点,但是使用来自另一个电子表格的几乎相同的vba脚本并上传到我无法连接和上传的同一个sharepoint站点文件。

vba脚本不起作用的奇怪之处在于,如果我在脚本的其余部分之前添加以下代码,则脚本的其余部分可以正常工作。

 xPath= "https://teamspace.healthcare.siemens.com/content/90002613/Documents/"
 With ActiveWorkbook

    Application.ActiveWorkbook.SaveAs Filename:=xPath & Name & ".xlsm"
    Application.ActiveWorkbook.Close False

 End With

当使用SaveAs命令时,不知道为什么xPath是一个有效的文件路径,但当我使用" Dir"时使用相同的路径或变体。标记它没有工作,并给我一个错误代码"运行时52错误的文件名或数字"或"未找到运行时76路径"。请有人帮忙解决这个问题,过去2天我一直在尝试我能想到的一切

由于

编辑:

这是在其中一个电子表格中使用的代码

If Dir("//teamspace.healthcare.siemens.com/content/90002613/Documents/GB_Invivo_RSM/" & xWs.Name & "", vbDirectory) = "" Then

            MkDir ("//teamspace.healthcare.siemens.com/content/90002613/Documents/GB_Invivo_RSM/" & xWs.Name & "")

            Else

            End If

  With ActiveWorkbook

Application.ActiveWorkbook.SaveAs Filename:=xPath & "\GB_RSM_P" & Format(LDate, "mm") & "FY" & Format(LDate, "yyyy") & " " & xWs.Name & ".xlsx"
           End With

第二个电子表格中的代码不会工作,除非我在所有这些之前放置另一个SaveAs(),并保存一个虚拟电子表格,然后必须删除它,因为显然我不想在那里。我无法理解为什么相同的代码可以从一个电子表格而不是另一个电子表格中工作,而且它几乎就像saveAs()正在创建连接或其他东西,但在第一个电子表格中不需要这样做

1 个答案:

答案 0 :(得分:0)

如果您的网址是“https://teamspace.healthcare.siemens.com/content/90002613/Documents/”,那么您应该可以使用Dir(),如下所示:

Sub TestWebDAVDir()

    Const MY_PATH As String = "\\teamspace.healthcare.siemens.com\content\90002613\Documents\"

    Dim f
    f = Dir(MY_PATH & "*")
    Do While Len(f) > 0
        Debug.Print f
        f = Dir()
    Loop

End Sub