如何在 SharePoint 上“签入”上传的文档?

Posted

技术标签:

【中文标题】如何在 SharePoint 上“签入”上传的文档?【英文标题】:How to "Check In" uploaded document on SharePoint? 【发布时间】:2021-04-25 21:32:16 【问题描述】:

我有用于在 SharePoint 上上传新文档的 VBA 代码。 它在 SharePoint 上上传新行,但不会为新项目启动工作流,因为它需要“签入”。

当我手动操作时,我点击上传,选择一个文件,填写必填字段,然后按“签入”添加新项目并自动启动工作流程。

当我通过 VBA 执行此操作时,它会添加带有描述字段的新项目,但它不会启动工作流,因为它需要“签入”。

我尝试过使用微软官方文档中的代码

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

当我打开工作簿时,它处于只读模式,因此我无法使用“签入”方法。

【问题讨论】:

@clomee 你是什么意思?具体是什么设置? 如果您的意思是它以只读模式打开 - 那么这不是 excel 的错,但看起来 sharepoint 会自动为上传的文件执行此操作...但我可以通过 sharepoint 站点手动执行此操作,单击那里“签到”,这就是让我生气的原因.. 【参考方案1】:

您可以尝试以下方法来上传和签入文件:

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()

【讨论】:

感谢您的回复。我粘贴了您的代码,但有些行显示为红色,是否需要任何参考?我将在这里发布我的代码,也许这会对我们有所帮助。这里非常重要的是,这个共享点不仅仅是我放置文件的库,而是我们通过“上传”按钮放置文档的地方。我遇到了很大的问题,但几天后我在谷歌上找到了一些代码,我现在使用它。这是:social.msdn.microsoft.com/Forums/SECURITY/en-US/… 是的,你需要安装包:nuget.org/packages/Microsoft.SharePointOnline.CSOM 每个人使用这个vba代码都必须安装包吗?还是在编写代码时只做一件事?这不是官方的,对吧?

以上是关于如何在 SharePoint 上“签入”上传的文档?的主要内容,如果未能解决你的问题,请参考以下文章

从 SP 2010 文档库中获取文档的最新签入版本(文档)

如何在sharepoint上签入文件?

如何使用 Java 将文档上传到 SharePoint?

如何将文件上传到 sharepoint 中的文档库?

如何自动将电子邮件上传到Sharepoint文档库?

Sharepoint 2010/2013 文档库 - 文档版本控制