使用vba将文件上载到共享点的说明

使用vba将文件上载到共享点的说明,vba,excel,sharepoint,Vba,Excel,Sharepoint,我正在尝试将文件上载到sharepoint网站,但由于某些原因,出现了一些奇怪的情况,第一个文件从未上载,但之后将上载随机数量的文件,然后有时会出现“获取可用内容类型和属性列表”错误 因此,有两件事我需要一些帮助,首先,我如何使第一个文件上传,然后为什么我有时会得到内容错误 这是我正在使用的代码 If Dir("\\server\content\90002613\Documents\TestGB\" & saveFileName, vbDirectory) = "" Then

我正在尝试将文件上载到sharepoint网站,但由于某些原因,出现了一些奇怪的情况,第一个文件从未上载,但之后将上载随机数量的文件,然后有时会出现“获取可用内容类型和属性列表”错误

因此,有两件事我需要一些帮助,首先,我如何使第一个文件上传,然后为什么我有时会得到内容错误

这是我正在使用的代码

If Dir("\\server\content\90002613\Documents\TestGB\" & saveFileName, vbDirectory) = "" Then
       MkDir ("\\server\content\90002613\Documents\TestGB\" & saveFileName)
End If

If Dir("\\server\content\90002613\Documents\TestGB\" & saveFileName & "\" & Format(lDate, "yyyy"), vbDirectory) = "" Then
        MkDir ("\\server\content\90002613\Documents\TestGB\" & saveFileName & "\" & Format(lDate, "yyyy"))
End If

If Dir("\\server\content\90002613\Documents\TestGB\" & saveFileName & "\" & Format(lDate, "yyyy"), vbDirectory) <> "" Then
    With ActiveWorkbook
        Application.ActiveWorkbook.SaveAs Filename:="https://server/content/90002613/Documents/TestGB/" & saveFileName & "/" & Format(lDate, "yyyy") & "\GB RSM P" & Format(lDate, "mm") & "FY" & Format(lDate, "yyyy") & " " & saveFileName & ".xlsx"
        Application.ActiveWorkbook.Close False
    End With
End If
如果Dir(\\server\content\90002613\Documents\TestGB\”&saveFileName,vbDirectory)=“”,则
MkDir(\\server\content\90002613\Documents\TestGB\”&saveFileName)
如果结束
如果Dir(“\\server\content\90002613\Documents\TestGB\”&saveFileName&“\”&Format(lDate,“yyyy”),vbDirectory)=“”,则
MkDir(“\\server\content\90002613\Documents\TestGB\”&saveFileName&“\”&Format(lDate,“yyyy”))
如果结束
如果Dir(\\server\content\90002613\Documents\TestGB\”&saveFileName&“\”&Format(lDate,“yyy”),vbDirectory)”,则
使用ActiveWorkbook
Application.ActiveWorkbook.SaveAs文件名:=“https://server/content/90002613/Documents/TestGB/&saveFileName&“/”&格式(lDate,“yyy”)&“\GB RSM P”&格式(lDate,“mm”)&“FY”&格式(lDate,“yyy”)&&saveFileName&.xlsx
Application.ActiveWorkbook.Close False
以
如果结束

谢谢

您应该能够保存到UNC路径:

Const BASE_DIR As String = "\\server\content\90002613\Documents\TestGB\"
Dim dt

If Dir(BASE_DIR & saveFileName, vbDirectory) = "" Then
       MkDir (BASE_DIR & saveFileName)
End If

dt = Format(lDate, "yyyy")

If Dir(BASE_DIR & saveFileName & "\" & dt, vbDirectory) = "" Then
        MkDir (BASE_DIR & saveFileName & "\" & dt)
End If


With ActiveWorkbook
    .SaveAs Filename:="BASE_DIR " & saveFileName & "\" & dt & _
             "\GB RSM P" & Format(lDate, "mm") & "FY" & _
             Format(lDate, "yyyy") & " " & saveFileName & ".xlsx"
    .Close False
End With

当您将
与Activeworkbook
语句一起使用时,其中的行不需要以
Application.Activeworkbook
作为前缀,它们可以像
Activeworkbook
一样以
开头assumed@Mike-霍尔:看一看