Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#.net Word加载项_C#_Ms Word_Add In - Fatal编程技术网

c#.net Word加载项

c#.net Word加载项,c#,ms-word,add-in,C#,Ms Word,Add In,我正在为Office-2013开发一个C#net中的加载项,每当用户尝试导出或共享该文档时,它都会显示一条弹出消息。 我看到word PIA有DocumentBeforeSaveEvent,但没有共享和导出的此类事件 因此,我的问题是,我是否可以将自己的事件与Word加载项一起使用,如果用户尝试共享或导出文档,该加载项将弹出 如果是,可能的步骤是什么 外接程序的基本用途是充当RMS(权限管理系统),这样,如果用户试图保存未按照“限制访问”模板进行保护的文档,则它应在用户保存之前自动将默认模板附加

我正在为Office-2013开发一个C#net中的加载项,每当用户尝试导出或共享该文档时,它都会显示一条弹出消息。 我看到word PIADocumentBeforeSaveEvent,但没有共享和导出的此类事件

因此,我的问题是,我是否可以将自己的事件与Word加载项一起使用,如果用户尝试共享或导出文档,该加载项将弹出

如果是,可能的步骤是什么


外接程序的基本用途是充当RMS(权限管理系统),这样,如果用户试图保存未按照“限制访问”模板进行保护的文档,则它应在用户保存之前自动将默认模板附加到文档。Word的对象模型也没有多大帮助,因此想知道使用Office-2013的C#net开发这样一个插件的过程应该是什么

您可以通过覆盖功能区XML中的相应命令来实现这一点

您需要将
节点添加到XML中,并包括相关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>
MSDN在这里有一个完整的示例:

在您的情况下,命令ID可能是
FileSaveAsPdfOrXps
ShareWithPeople
(或类似)。您可以在此处找到包含所有Office功能区ID的Excel文档:

更新
编辑原始问题后,您可能希望为Office设置RMS服务器并定义适当的权限策略模板。要开始学习,您可以在此处阅读此主题:

您可以通过覆盖功能区XML中的相应命令来完成此操作

您需要将
节点添加到XML中,并包括相关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>
MSDN在这里有一个完整的示例:

在您的情况下,命令ID可能是
FileSaveAsPdfOrXps
ShareWithPeople
(或类似)。您可以在此处找到包含所有Office功能区ID的Excel文档:

更新
编辑原始问题后,您可能希望为Office设置RMS服务器并定义适当的权限策略模板。要开始学习,您可以在此处阅读此主题:

我的问题是如何使用C#.net for office 2013开发外接程序,如何使用C#.net代码访问模板,我想用它构建外接程序。RMS服务器已经设置好,模板已经部署好,我只想通过外接程序添加额外的功能。word的对象模型也没有用。已经部署了预构建的模板,我想使用C#.net构建一个外接程序,当用户尝试共享、导出等文档时,该外接程序将向用户显示提示消息。该文档未按照给定模板分类。我想写一段代码并为它构建一个外接程序。我真正的问题是如何在“限制访问”部分中获取模板的属性,或者我的代码如何知道模板是否在打开的文档中使用。我的问题是使用C#.net for office 2013开发一个外接程序,如何使用C#.net代码访问模板,我想用它构建我的外接程序。RMS服务器已经设置好,模板已经部署好,我只想通过外接程序添加额外的功能。word的对象模型也没有用。已经部署了预构建的模板,我想使用C#.net构建一个外接程序,当用户尝试共享、导出等文档时,该外接程序将向用户显示提示消息。该文档未按照给定模板分类。我想写一段代码并为它构建一个外接程序。我真正的问题是如何在restrictaccess部分获取模板的属性,或者我的代码如何知道模板是否在打开的文档中使用。