diff --git a/src/Interface/Dialog.cs b/src/Interface/Dialog.cs index 95d676f..e6c7955 100644 --- a/src/Interface/Dialog.cs +++ b/src/Interface/Dialog.cs @@ -36,5 +36,22 @@ namespace RehauSku.Interface else return null; } } + + public static void SaveWorkbookAs() + { + Workbook workbook = AddIn.Excel.ActiveWorkbook; + + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.FileName = workbook.Name; + dialog.Filter = "Файлы Excel (*.xls;*.xlsx;*.xlsm)|*.xls;*.xlsx;*.xlsm"; + + if (dialog.ShowDialog() == DialogResult.OK) + { + string fileName = dialog.FileName; + workbook.SaveAs(fileName); + } + } + } } } diff --git a/src/PriceListTools/CombineTool.cs b/src/PriceListTools/CombineTool.cs index 26a2832..eddf9e7 100644 --- a/src/PriceListTools/CombineTool.cs +++ b/src/PriceListTools/CombineTool.cs @@ -3,7 +3,6 @@ using RehauSku.Interface; using System; using System.Collections.Generic; using System.Linq; -using System.Threading.Tasks; using Dialog = RehauSku.Interface.Dialog; namespace RehauSku.PriceListTools @@ -27,7 +26,7 @@ namespace RehauSku.PriceListTools } } - public override async void FillTarget() + public override void FillTarget() { ProgressBar = new ProgressBar("Заполняю строки...", SourceFiles.Sum(file => file.PositionAmount.Count)); ResultBar = new ResultBar(); @@ -52,7 +51,7 @@ namespace RehauSku.PriceListTools FilterByAmount(); ResultBar.Update(); - await Task.Delay(new TimeSpan(0, 0, 5)); + Interface.Dialog.SaveWorkbookAs(); ExcelApp.StatusBar = false; } } diff --git a/src/PriceListTools/ConvertTool.cs b/src/PriceListTools/ConvertTool.cs index dde969c..1bb02f4 100644 --- a/src/PriceListTools/ConvertTool.cs +++ b/src/PriceListTools/ConvertTool.cs @@ -1,6 +1,4 @@ using RehauSku.Interface; -using System; -using System.Threading.Tasks; namespace RehauSku.PriceListTools { @@ -13,7 +11,7 @@ namespace RehauSku.PriceListTools Current = new SourcePriceList(ExcelApp.ActiveWorkbook); } - public override async void FillTarget() + public override void FillTarget() { ProgressBar = new ProgressBar("Заполняю строки...", Current.PositionAmount.Count); ResultBar = new ResultBar(); @@ -27,7 +25,7 @@ namespace RehauSku.PriceListTools FilterByAmount(); ResultBar.Update(); - await Task.Delay(new TimeSpan(0, 0, 5)); + Dialog.SaveWorkbookAs(); ExcelApp.StatusBar = false; } } diff --git a/src/PriceListTools/ExportTool.cs b/src/PriceListTools/ExportTool.cs index 6f910b7..603de8b 100644 --- a/src/PriceListTools/ExportTool.cs +++ b/src/PriceListTools/ExportTool.cs @@ -2,7 +2,6 @@ using System; using System.Collections.Generic; using RehauSku.Interface; -using System.Threading.Tasks; namespace RehauSku.PriceListTools { @@ -22,11 +21,11 @@ namespace RehauSku.PriceListTools } } - public override async void FillTarget() + public override void FillTarget() { ProgressBar = new ProgressBar("Заполняю строки...", PositionAmount.Count); ResultBar = new ResultBar(); - + foreach (var kvp in PositionAmount) { FillPositionAmountToColumns(kvp, TargetFile.AmountCell.Column); @@ -36,13 +35,13 @@ namespace RehauSku.PriceListTools FilterByAmount(); ResultBar.Update(); - await Task.Delay(new TimeSpan(0, 0, 5)); + Interface.Dialog.SaveWorkbookAs(); ExcelApp.StatusBar = false; } private void GetSelected() { - object[,] cells = Selection.Value2; + object[,] cells = Selection.Value2; PositionAmount = new Dictionary(); int rowsCount = Selection.Rows.Count; diff --git a/src/PriceListTools/MergeTool.cs b/src/PriceListTools/MergeTool.cs index 1eb1d54..179fb81 100644 --- a/src/PriceListTools/MergeTool.cs +++ b/src/PriceListTools/MergeTool.cs @@ -2,7 +2,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Threading.Tasks; namespace RehauSku.PriceListTools { @@ -25,7 +24,7 @@ namespace RehauSku.PriceListTools } } - public override async void FillTarget() + public override void FillTarget() { ProgressBar = new ProgressBar("Заполняю строки...", SourceFiles.Sum(x => x.PositionAmount.Count)); ResultBar = new ResultBar(); @@ -42,7 +41,7 @@ namespace RehauSku.PriceListTools FilterByAmount(); ResultBar.Update(); - await Task.Delay(new TimeSpan(0, 0, 5)); + Dialog.SaveWorkbookAs(); ExcelApp.StatusBar = false; } } diff --git a/src/Properties/AssemblyInfo.cs b/src/Properties/AssemblyInfo.cs index 1493351..5f1731a 100644 --- a/src/Properties/AssemblyInfo.cs +++ b/src/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.4.2")] -[assembly: AssemblyFileVersion("1.0.4.2")] +[assembly: AssemblyVersion("1.0.4.1")] +[assembly: AssemblyFileVersion("1.0.4.1")]