我已经使用Add-In Express for .NET创建了一个excel插件,但似乎无法弄清楚如何仅在“ 有效”上存在一组数据时才显示功能区”工作表。
如果工作表不在某些单元格行中包含某些数据集,我想隐藏功能区,因为功能区上的按钮并不适用于所有工作表。当用户在不同的工作表之间切换时,我想适当地隐藏/显示功能区。
我尝试使用AddinInitialize
事件,但这只会触发一次。我不想强迫用户直接打开Excel文件。他们应该能够打开Excel,然后从文件菜单中选择文件。
private void OnAddinInitialize(object sender, EventArgs e)
{
// note: this does not work all the time!
adxRibbonTab1.Visible = IsRibbonVisible();
}
private bool IsRibbonVisible()
{
var worksheet = ActiveSheet;
if (worksheet == null)
return false;
// only show ribbon when top row has certain column headings
var reader = new WorksheetReader(worksheet);
return reader.HasColumns(TopLeftCell, RequiredColumnNames);
}
我已经尝试创建一个ADXExcelWorksheetEvents
实例并覆盖某些事件,但是到目前为止我还不太幸运。对于这种类型的工作流程,我也无法在他们的网站上找到任何内容。
我将不胜感激!
答案 0 :(得分:0)
我找到了答案。在AddinModule
设计器上,有一个“事件”项必须引用,然后我就可以使用IsRibbonVisible()
函数捕获以下内容:
WorksheetActivated
WorksheetDeactivated
WorkbookActivated
问题解决了!