有人可以使用VSTO重载SharePoint FileCheckIn操作吗? 我认为微软可能已经忘记来实现它(以及许多其他操作)
在我的Ribbon XML中,我添加了以下三个命令:
<commands>
<command idMso="FileCheckIn" onAction="FileCheckIn_Click"/>
<command idMso="FileCheckOut" onAction="FileCheckOut_Click"/>
<command idMso="FileCheckOutDiscard" onAction="FileCheckOutDiscard_Click"/>
</commands>
使用相应的C#回调:
public void FileCheckIn_Click(Office.IRibbonControl control, ref bool cancelDefault)
{ cancelDefault = false; /*Does not work*/ }
public void FileCheckOut_Click(Office.IRibbonControl control, ref bool cancelDefault)
{ cancelDefault = false; /* Works! */ }
public void FileCheckOutDiscard_Click(Office.IRibbonControl control, ref bool cancelDefault)
{ cancelDefault = false; /*Does not work*/ }
有趣的是,FileCheckOut工作正常,但FileCheckIn和FileCheckOutDiscard没有。 奇怪的是,我在VBA取得了更大的成功:
Public Sub FileCheckIn()
MsgBox "I work!"
End Sub
Public Sub FileCheckOut()
MsgBox "I work!"
End Sub
Public Sub FileCheckOutDiscard()
MsgBox "I don't.."
End Sub
希望我在某个地方犯了一个错误。帮助赞赏。 据我所知,Office 2007和Office 2010中的功能已被破坏。我尚未测试Office 2013。
- Edit-- 我在Office 2013中完成了一些测试。更糟糕的是,我害怕:
有趣的是,以下代码行会导致CheckIn C# 回火:
this.Application.CommandBars.ExecuteMso( “FileCheckIn”);
我想Office 2013中的UI / Backstage更改可能会更改VBA例程的名称。