diff --git a/RhSolutions.AddIn/Controllers/RibbonController.cs b/RhSolutions.AddIn/Controllers/RibbonController.cs
index efc0d15..c815229 100644
--- a/RhSolutions.AddIn/Controllers/RibbonController.cs
+++ b/RhSolutions.AddIn/Controllers/RibbonController.cs
@@ -27,6 +27,7 @@ public class RibbonController : ExcelRibbon
+
@@ -68,6 +69,7 @@ public class RibbonController : ExcelRibbon
"export" => new ExportTool(),
"convert" => new ConvertTool(),
"merge" => new MergeTool(),
+ "dxfexport" => new DxfTool(),
_ => throw new Exception("Неизвестный инструмент"),
};
tool.Execute();
@@ -108,6 +110,18 @@ public class RibbonController : ExcelRibbon
}
}
+ public bool GetDxfEnabled(IRibbonControl control)
+ {
+ if (RhSolutionsAddIn.Excel.ActiveWorkbook == null)
+ return false;
+
+ else
+ {
+ Worksheet worksheet = RhSolutionsAddIn.Excel.ActiveWorkbook.ActiveSheet;
+ return worksheet.IsValidSource();
+ }
+ }
+
public string GetVersionLabel(IRibbonControl control)
{
string version = Assembly.GetExecutingAssembly().GetName().Version.ToString();
diff --git a/RhSolutions.AddIn/Tools/EventsUtil.cs b/RhSolutions.AddIn/Tools/EventsUtil.cs
index 4bd6b89..99f435f 100644
--- a/RhSolutions.AddIn/Tools/EventsUtil.cs
+++ b/RhSolutions.AddIn/Tools/EventsUtil.cs
@@ -17,6 +17,7 @@ namespace RhSolutions.Tools
{
RhSolutionsAddIn.Excel.SheetSelectionChange += RefreshExportButton;
RhSolutionsAddIn.Excel.SheetActivate += RefreshConvertButton;
+ RhSolutionsAddIn.Excel.SheetActivate += RefreshDxfButton;
RhSolutionsAddIn.Excel.WorkbookActivate += RefreshConvertButton;
RhSolutionsAddIn.Configuration.OnSettingsChange += RefreshSettingTitle;
}
@@ -25,6 +26,7 @@ namespace RhSolutions.Tools
{
RhSolutionsAddIn.Excel.SheetSelectionChange -= RefreshExportButton;
RhSolutionsAddIn.Excel.SheetActivate -= RefreshConvertButton;
+ RhSolutionsAddIn.Excel.SheetActivate -= RefreshDxfButton;
RhSolutionsAddIn.Excel.WorkbookActivate -= RefreshConvertButton;
RhSolutionsAddIn.Configuration.OnSettingsChange -= RefreshSettingTitle;
}
@@ -34,6 +36,11 @@ namespace RhSolutions.Tools
RibbonController.RefreshControl("convert");
}
+ private static void RefreshDxfButton(object sh)
+ {
+ RibbonController.RefreshControl("dxfexport");
+ }
+
private static void RefreshExportButton(object sh, Range target)
{
RibbonController.RefreshControl("export");