0

簡単なWordアドインを作成しようとしています。この自動生成されたコードを使用して、Word2010アドインプロジェクトを作成しました。

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
    }

ドキュメントを見て、このクラスからドキュメントにテキストを追加する方法を理解しました。ただし、私が持っているのは、2つのボタンが付いたリボン(新しいアイテム->リボン(ビジュアルデザイナー)で作成)です。

ボタンが押されたら、ドキュメントにテキストを追加したいと思います。ただし、このリボンは別のクラスを作成します。

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 に答える