Excel Addin Creation仅适用于一个文件

时间:2012-10-19 07:55:30

标签: c# excel vsto

我已经创建了一个VS Addin项目,我在其中编写了一些代码,用于在C#中添加带有一些菜单项的自定义菜单。通过这个我得到了一个VSTO部署文件。现在我打开一个随机excel文件并通过Excel Options->手动添加这个addin或vsto。 Addins-> Manage(Com Addins) - >去并添加插件。我的问题是,addin会被添加到我添加的文件中的所有文件中。我希望用户查看他/她手动添加的文件的此插件菜单。我们的方法可以自由地要求用户通过一些特殊的步骤来遵循,或者我也可以编写C#代码来实现这一目标。此外,我们无法通过识别文件名来实现此目的,因为文件的名称和位置可能会发生变化。请提出任何解决方法,因为我完全坚持这个问题。

1 个答案:

答案 0 :(得分:0)

为什么不创建切换按钮来显示/添加和隐藏/删除自定义任务窗格。 按照说明:
http://msdn.microsoft.com/en-us/library/aa942846.aspx
msdn.microsoft.com/en-US/office/hh128771


使用visual studio创建一个excel插件 使用右键单击添加用户控件,功能区(可视) - >添加新的 用户控制将是你的takspane。 在功能区中添加切换按钮。

然后,在ThisAddIn.cs添加以下行:

 private UserControl1 myUserControl1;
        private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;

        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            myUserControl1 = new UserControl1();
            myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");

        }
        public void toggle(bool b)
        {
            myCustomTaskPane.Visible = b;
        }

之后,在Ribbon1.cs中添加以下代码:

 private void toggleButton1_Click(object sender, RibbonControlEventArgs e)
        {
            Globals.ThisAddIn.toggle(toggleButton1.Checked);
        }

希望这对你有用。