2009-09-01 62 views

回答

10

請參閱MSDN:SPListItem.FileCheckIn();

例如:

SPFile file = item.File; 
if (file.CheckOutStatus != SPFile.SPCheckOutStatus.None) 
{ 
    file.CheckIn("Reason for check in.", SPCheckinType.MajorCheckIn); 
} 

可選的第二個參數允許使用較小的,主要或覆蓋經由SPCheckinType enumeration檢查的規範。

+0

有沒有必要使用file.publish有力地發佈在文檔庫中的項目(「出版按系統「)? – SaMolPP 2017-06-11 00:45:52

+0

@SaMolPP這將取決於庫的設置。如果他們沒有被配置爲使用發佈,其他人將會要求發佈...被髮布。有些會在簽入時自動發佈。 – Servy 2017-06-15 17:59:28

4

偉大的迴應,但在2010年,CheckOutStatus正在下降 - 使用SPCheckOutType來代替。您可能還需要審批的項目,以及 - 例如:

SPList MyLib = TheWeb.Lists["MyLibrary"]; 
if (MyLib != null) 
{ 
    if (MyLib.Items.Count > 0) 
    { 
     foreach(SPListItem AnItem in MyLib.Items) 
     { 
       SPFile TheFile = AnItem.File; 
       if (TheFile.CheckOutType != SPFile.SPCheckOutType.None) 
       { 
        TheFile.CheckIn("Check in comment", SPCheckinType.MajorCheckIn); 
        TheFile.Approve("Approval comment"); 
       } 
     } 
    } 
} 

大衛·斯特林 SICG

+0

但這會導致被修改爲「系統帳戶」。如何更改這個項目事件接收器內部 – SaMolPP 2017-01-18 12:16:55

+1

模擬用戶帳戶是一種方法。 – 2017-06-10 22:03:57

+1

另一種方法是事先設置作者和編輯器字段(請記住使用完全限定名稱 - 即i:0#.w | \ <用戶帳戶>。您必須設置BOTH字段並執行更新。 – 2017-06-11 11:08:41

相關問題