Add Dxf Export button

This commit is contained in:
Sergey Chebotar 2023-04-07 08:10:51 +03:00
parent 56a32cd567
commit 6acba1a542
2 changed files with 21 additions and 0 deletions

View File

@ -27,6 +27,7 @@ public class RibbonController : ExcelRibbon
<button id='export' getEnabled='GetExportEnabled' label='Экспорт в новый файл' size='normal' imageMso='PivotExportToExcel' onAction='OnToolPressed'/> <button id='export' getEnabled='GetExportEnabled' label='Экспорт в новый файл' size='normal' imageMso='PivotExportToExcel' onAction='OnToolPressed'/>
<button id='convert' getEnabled='GetConvertEnabled' label='Актуализировать' size='normal' imageMso='FileUpdate' onAction='OnToolPressed'/> <button id='convert' getEnabled='GetConvertEnabled' label='Актуализировать' size='normal' imageMso='FileUpdate' onAction='OnToolPressed'/>
<button id='merge' label='Объединить' size='normal' imageMso='Copy' onAction='OnToolPressed'/> <button id='merge' label='Объединить' size='normal' imageMso='Copy' onAction='OnToolPressed'/>
<button id='dxfexport' getEnabled='GetDxfEnabled' label='Экспортировать в DXF' size='normal' imageMso='ExportExcel' onAction='OnToolPressed'/>
</group> </group>
<group id='rausettings' getLabel='GetVersionLabel'> <group id='rausettings' getLabel='GetVersionLabel'>
<button id='setPriceList' getLabel='GetPriceListPathLabel' size='large' imageMso='TableExcelSpreadsheetInsert' onAction='OnSetPricePressed'/> <button id='setPriceList' getLabel='GetPriceListPathLabel' size='large' imageMso='TableExcelSpreadsheetInsert' onAction='OnSetPricePressed'/>
@ -68,6 +69,7 @@ public class RibbonController : ExcelRibbon
"export" => new ExportTool(), "export" => new ExportTool(),
"convert" => new ConvertTool(), "convert" => new ConvertTool(),
"merge" => new MergeTool(), "merge" => new MergeTool(),
"dxfexport" => new DxfTool(),
_ => throw new Exception("Неизвестный инструмент"), _ => throw new Exception("Неизвестный инструмент"),
}; };
tool.Execute(); 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) public string GetVersionLabel(IRibbonControl control)
{ {
string version = Assembly.GetExecutingAssembly().GetName().Version.ToString(); string version = Assembly.GetExecutingAssembly().GetName().Version.ToString();

View File

@ -17,6 +17,7 @@ namespace RhSolutions.Tools
{ {
RhSolutionsAddIn.Excel.SheetSelectionChange += RefreshExportButton; RhSolutionsAddIn.Excel.SheetSelectionChange += RefreshExportButton;
RhSolutionsAddIn.Excel.SheetActivate += RefreshConvertButton; RhSolutionsAddIn.Excel.SheetActivate += RefreshConvertButton;
RhSolutionsAddIn.Excel.SheetActivate += RefreshDxfButton;
RhSolutionsAddIn.Excel.WorkbookActivate += RefreshConvertButton; RhSolutionsAddIn.Excel.WorkbookActivate += RefreshConvertButton;
RhSolutionsAddIn.Configuration.OnSettingsChange += RefreshSettingTitle; RhSolutionsAddIn.Configuration.OnSettingsChange += RefreshSettingTitle;
} }
@ -25,6 +26,7 @@ namespace RhSolutions.Tools
{ {
RhSolutionsAddIn.Excel.SheetSelectionChange -= RefreshExportButton; RhSolutionsAddIn.Excel.SheetSelectionChange -= RefreshExportButton;
RhSolutionsAddIn.Excel.SheetActivate -= RefreshConvertButton; RhSolutionsAddIn.Excel.SheetActivate -= RefreshConvertButton;
RhSolutionsAddIn.Excel.SheetActivate -= RefreshDxfButton;
RhSolutionsAddIn.Excel.WorkbookActivate -= RefreshConvertButton; RhSolutionsAddIn.Excel.WorkbookActivate -= RefreshConvertButton;
RhSolutionsAddIn.Configuration.OnSettingsChange -= RefreshSettingTitle; RhSolutionsAddIn.Configuration.OnSettingsChange -= RefreshSettingTitle;
} }
@ -34,6 +36,11 @@ namespace RhSolutions.Tools
RibbonController.RefreshControl("convert"); RibbonController.RefreshControl("convert");
} }
private static void RefreshDxfButton(object sh)
{
RibbonController.RefreshControl("dxfexport");
}
private static void RefreshExportButton(object sh, Range target) private static void RefreshExportButton(object sh, Range target)
{ {
RibbonController.RefreshControl("export"); RibbonController.RefreshControl("export");