我正在为Office-2013在C#.net中开发一个外接程序,它在用户试图导出或共享文档时显示弹出消息。我见过word PIA有,但共享和导出没有这样的事件。
因此,我的查询是,如果用户试图共享或导出文档,我是否可以将自己的事件与Word外接程序一起使用,这将显示弹出。
如果是,可能采取什么步骤?
外接程序的基本目的是充当RMS(Right Management System),这样,如果用户试图保存不受限制访问模板保护的文档,那么它应该在用户保存文档之前自动将默认模板附加到文档上。Word的对象模型也没有多大帮助,因此想知道使用C#.net for Office-2013开发这样一个外接程序应该是什么过程。
发布于 2015-12-02 15:46:07
您可以通过在条带XML中覆盖适当的命令来做到这一点。
您需要向XML中添加一个<commands>节点,并为相关的Word命令包括子元素,如下所示:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
onLoad="OnLoad" >
<commands>
<command idMso="FileSave" onAction="mySave" />
</commands>
<ribbon startFromScratch="false">
<tabs>
<tab id="tab1" label="Repurpose Command Demo" >
<group id="group1" label="Demo Group">
<toggleButton id="togglebutton1"
imageMso="AcceptInvitation"
size="large"
label="Alter Built-ins"
onAction="changeRepurpose" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>然后,您必须添加一个相应的回调,每当用户试图执行有关命令时,该回调就会执行:
public void mySave(IRibbonControl control, bool cancelDefault)
{
If (repurposing)
{
MessageBox.Show("The Save button has been temporarily repurposed.");
cancelDefault = False;
}
else
{
cancelDefault = False;
}
}MSDN在这里有一个完整的示例:Office Fluent Ribbon上的临时重定向命令
在您的示例中,命令ids可能是FileSaveAsPdfOrXps和ShareWithPeople (或类似的)。您可以在这里找到一个包含所有Office的Excel文档:idMso表。
更新
编辑完原始问题后,您可能需要为Office设置一个RMS服务器,并定义适当的权限策略模板。要开始学习,您可以在这里阅读这个主题:2013年办公室的计划信息权利管理
https://stackoverflow.com/questions/34036717
复制相似问题