![](/img/trans.png)
[英]How can I automate the checkout of an excel spreadsheet from a sharepoint document library, edit the spreadsheet, and check it back in?
[英]How to “Check In” uploaded document on SharePoint?
我有 VBA 代码,可以在 SharePoint 上上传新文档。
它在 SharePoint 上上传新行,但它不会启动新项目的工作流,因为它需要“签入”。
当我手动执行此操作时,我单击上传,选择一个文件,填写必填字段,然后按“签入”添加新项目并自动启动工作流程。
当我通过 VBA 执行此操作时,它会添加带有描述字段的新项目,但它不会启动工作流,因为它需要“签入”。
我尝试使用 Microsoft 官方文档中的代码
Sub CheckInOut(strWkbCheckIn As String)
' Determine if workbook can be checked in.
If Workbooks(strWkbCheckIn).CanCheckIn = True Then
Workbooks(strWkbCheckIn).CheckIn
MsgBox strWkbCheckIn & " has been checked in."
Else
MsgBox "This file cannot be checked in " & _
"at this time. Please try again later."
End If
End Sub
当我打开工作簿时,它处于只读模式,因此我无法使用“签入”方法。
您可以尝试以下方法来上传和签入文件:
Dim oWebsite As Web = clientContext.Web
Dim folder As Folder = web.GetFolderByServerRelativeUrl("/sites/michael/Shared%20Documents")
Dim fileCreateInfo As FileCreationInformation = New FileCreationInformation()
fileCreateInfo.Overwrite = True
fileCreateInfo.Url = folder.ServerRelativeUrl & "/" & fileName
fileCreateInfo.Content = System.IO.File.ReadAllBytes(filePath)
Dim uploadFile As File = folder.Files.Add(fileCreateInfo)
If uploadFile.CheckOutType <> CheckOutType.None Then
uploadFile.CheckIn("Initial Upload", CheckinType.MajorCheckIn)
End If
clientContext.Load(uploadFile)
clientContext.ExecuteQuery()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.