使用VBA Excel批准/拒绝共享点文件

时间:2011-10-06 04:15:44

标签: vba sharepoint-2007 excel-2007

我正在尝试自动执行sharepoint文件上传,签入和批准。我正在使用FP RPC上传和签入文件,但我不知道是否可以自动批准上传的文件。我想到的唯一解决方案是创建IE对象,并使用IE.visible = false自动执行批准过程。

其他问题是,当我尝试将powerpoint文件上传到sharepoint时,meta_info未更新,这就是我的文件仍然结帐的原因。这种情况有什么想法吗?到目前为止,我唯一的工作就是自动添加自定义文件属性,这样当我上传ppt文件时,它将自动拥有所需属性的值,并且checkin方法将起作用。

谢谢你们!

1 个答案:

答案 0 :(得分:2)

use the SharePoint webservices to edit the items moderation status可能更容易。

示例中的C#。

public static XmlNode UpdateListItemApprove()
 {
     listservice.Lists listProxy = new listservice.Lists();


     string xml = "<Batch OnError='Continue'><Method ID='1' Cmd='Moderate'><Field Name='ID'/><Field Name='FileRef'>http://basesmcdev2/sites/tester1/approvals/KL022030.lic</Field><Field Name=\"_ModerationStatus\" >0</Field></Method></Batch>";

     XmlDocument doc = new XmlDocument();
     doc.LoadXml(xml);

     XmlNode batchNode = doc.SelectSingleNode("//Batch");

     listProxy.Url = "http://basesmcdev2/sites/tester1/_vti_bin/lists.asmx";
     listProxy.UseDefaultCredentials = true;

     XmlNode resultNode = listProxy.UpdateListItems("approvals", batchNode);

     return resultNode;
}

Here is an example of an update using the SOAP toolkit.