0

我正在尝试创建一个简单的 Word 加载项。我用这个自动生成的代码创建了一个 Word 2010 插件项目:

public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject() {
            OwnRibbon ribbon = new OwnRibbon();
            //ribbon.DocumentProperty = //get the document here
            return ribbon;
        }
        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }

        #endregion
    }

我查看了文档,并且了解如何从此类中将文本添加到文档中。但是,我拥有的是带有两个按钮的功能区(通过新项目-> 功能区(视觉设计师)创建)。

当按下按钮时,我想在文档中添加文本。但是,此功能区创建了一个单独的类:

public partial class OwnRibbon
    {
        private void OwnRibbon_Load(object sender, RibbonUIEventArgs e)
        {

        }

        private void btnInvoegen_Click(object sender, RibbonControlEventArgs e)
        {
        }
    }

如何从单击事件处理程序访问文档?

谢谢

4

2 回答 2

3

试试这段代码

Microsoft.Office.Tools.Word.Document vstoDocument =
 Globals.ThisAddIn.Application.ActiveDocument.GetVstoObject();

许多 Office 对象都可以通过像这样的静态方法访问。

于 2012-08-20T10:22:42.097 回答
1

您可以在类中创建一个属性,然后在ThisAddIn类中设置它:

protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject() {
            OwnRibbon ribbon = new OwnRibbon();
            ribbon.DocumentProperty = //get the document here
            return ribbon;
        }

OwnRibbon课堂上:

private void btnInvoegen_Click(object sender, RibbonControlEventArgs e)
{
    //use DocumentProperty which holds the document
}
于 2012-08-20T10:08:17.423 回答