Моя надстройка Excel 2010 отображается только при открытии пустой книги. Не будет отображаться при открытии существующего документа

Мы сделали надстройку Excel, которая установлена правильно и будет отображаться только при открытии Excel с основного значка (или пустой книги). Он НЕ будет отображаться на панели инструментов при открытии любого существующего сохраненного документа Excel.

Я удостоверился, что при открытии существующего документа, под файлом -> параметры -> добавить, он правильно проверен в надстройках COM. Чтобы использовать наш надстройку, нам нужно открыть пустую книгу и перетащить существующий файл в пустую книгу.

Кто-нибудь может понять, почему он будет отображаться только на ленте в пустой книге, а не в существующих файлах .xlsx?

Я даже провел тест, в котором я открываю пустую книгу, подтверждаю, что надстройка находится на ленте, помещаю текст в ячейку, сохраняю его на рабочем столе, закрываю и снова открываю. Это тогда не появляется. Это дополнение было сделано с VS2010.

Вот код из "ThisAddIn.cs"

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

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

    #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
}

Вот код из файла Ribbon.cs, который мы сделали ... все, что он делает - это заполняет несколько полей и настраивает:

private void MyRibbon_Load(object sender, RibbonUIEventArgs e)
{

  Excel._Workbook activeWorkbook = (Excel._Workbook)Globals.ThisAddIn.Application.ActiveWorkbook;
  if (activeWorkbook.Path == "")
  {
    string pathMyDocuments = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
    this.editBox1.Text = pathMyDocuments;
  }
  else
  {
    this.editBox1.Text = activeWorkbook.Path;
    this.fileBox.Text = "Converted_" + activeWorkbook.Name;
  }

  this.folderBrowserDialog1.RootFolder = System.Environment.SpecialFolder.MyComputer;
  this.folderBrowserDialog1.ShowNewFolderButton = true;

  //populate the dropdown box with spreadsheet templates
  using (SqlConnection conn = new SqlConnection("<removed for stack overflow>"))
  {
    using (SqlCommand command = new SqlCommand("<sql command text removed for SO", conn))
    {
      command.CommandType = CommandType.Text;

      conn.Open();
      SqlDataReader reader = command.ExecuteReader();

      while (reader.Read())
      {
        RibbonDropDownItem item = Globals.Factory.GetRibbonFactory().CreateRibbonDropDownItem();
        item.Label = reader["MasterSpreadsheetName"].ToString();
        ddlSpreadsheetTemplate.Items.Add(item);
      }
    }
  }
}

Ответы на вопрос(1)

Ваш ответ на вопрос