【问题标题】:Hook word paste command钩字粘贴命令
【发布时间】:2012-03-16 15:31:44
【问题描述】:

我有一个用于创建文档模板的 Word 2007 VSTO 插件。它允许您为循环或条件添加特殊的内容控件。内容控件绑定到自定义 xml 部件数据(使用内容控件 ID 作为参考)。

我需要允许用户复制和粘贴 CC。 Word 会自动更改其 ID,因此我丢失了对自定义 xml 部分的引用。

有什么方法可以挂钩 Word 粘贴命令并访问粘贴的范围 - 内容控件?

【问题讨论】:

  • 您好,如果我的回答对您有帮助且正确,请accept it

标签: ms-word vsto office-interop


【解决方案1】:

也可以在文档的VstoObject上使用Document.SelectionChange事件,可以通过Microsoft.Office.Tools.Word.Document.GetVstoObject()获取

例子:

using WordTools = Microsoft.Office.Tools.Word;

WordTools.Document vstoDocument = Microsoft.Office.Tools.Word.Document.GetVstoObject(Globals.ThisAddIn.Application.ActiveDocument);
vstoDocument.SelectionChange += new WordTools.SelectionEventHandler(Document_SelectionChange);

private void Document_SelectionChange(object sender, WordTools.SelectionEventArgs e)
{
    if (e.Selection.Range.Text != null)
    {
        // your code
    }
}

【讨论】:

    【解决方案2】:

    我不确定这会对你有所帮助, 在您的项目中连接事件 XMLSelectionChange。该事件有以下参数

    (Selection Sel, XMLNode OldXMLNode, XMLNode NewXMLNode, ref int Reason)
    

    Sel.Range 应该给出您正在寻找的范围。

    【讨论】:

      猜你喜欢
      • 2015-04-22
      • 1970-01-01
      • 2022-11-25
      • 2015-01-13
      • 2014-12-02
      • 1970-01-01
      • 1970-01-01
      • 2017-04-26
      • 2017-09-25
      相关资源
      最近更新 更多