diff --git a/src/PriceListTools/PriceListTool.cs b/src/PriceListTools/PriceListTool.cs index 74aec56..bf658f8 100644 --- a/src/PriceListTools/PriceListTool.cs +++ b/src/PriceListTools/PriceListTool.cs @@ -54,6 +54,7 @@ namespace RehauSku.PriceListTools protected private void FillPosition(KeyValuePair kvp, int[] columns) { Range foundCell = TargetFile.skuCell.EntireColumn.Find(kvp.Key.Sku); + if (foundCell == null) { Missing.Add(kvp); diff --git a/src/PriceListTools/Source.cs b/src/PriceListTools/Source.cs index 2f1e7ce..5013157 100644 --- a/src/PriceListTools/Source.cs +++ b/src/PriceListTools/Source.cs @@ -1,4 +1,5 @@ -using Microsoft.Office.Interop.Excel; +using ExcelDna.Integration; +using Microsoft.Office.Interop.Excel; using System; using System.Collections.Generic; @@ -31,6 +32,37 @@ namespace RehauSku.PriceListTools CreatePositionsDict(); } + public static List GetSourceLists(string[] files) + { + var ExcelApp = (Application)ExcelDnaUtil.Application; + + List sourceFiles = new List(); + + ExcelApp.ScreenUpdating = false; + foreach (string file in files) + { + Workbook wb = ExcelApp.Workbooks.Open(file); + try + { + Source priceList = new Source(wb); + sourceFiles.Add(priceList); + wb.Close(); + } + catch (Exception ex) + { + System.Windows.Forms.MessageBox.Show + (ex.Message, + "Ошибка открытия исходного прайс-листа", + System.Windows.Forms.MessageBoxButtons.OK, + System.Windows.Forms.MessageBoxIcon.Information); + wb.Close(); + } + } + ExcelApp.ScreenUpdating = true; + + return sourceFiles; + } + private void CreatePositionsDict() { PositionAmount = new Dictionary(); diff --git a/src/PriceListTools/SourceUtil.cs b/src/PriceListTools/SourceUtil.cs deleted file mode 100644 index 5c575f6..0000000 --- a/src/PriceListTools/SourceUtil.cs +++ /dev/null @@ -1,41 +0,0 @@ -using ExcelDna.Integration; -using Microsoft.Office.Interop.Excel; -using System; -using System.Collections.Generic; - -namespace RehauSku.PriceListTools -{ - internal static class SourceUtil - { - public static List GetSourceLists(string[] files) - { - var ExcelApp = (Application)ExcelDnaUtil.Application; - - List sourceFiles = new List(); - - ExcelApp.ScreenUpdating = false; - foreach (string file in files) - { - Workbook wb = ExcelApp.Workbooks.Open(file); - try - { - Source priceList = new Source(wb); - sourceFiles.Add(priceList); - wb.Close(); - } - catch (Exception ex) - { - System.Windows.Forms.MessageBox.Show - (ex.Message, - "Ошибка открытия исходного прайс-листа", - System.Windows.Forms.MessageBoxButtons.OK, - System.Windows.Forms.MessageBoxIcon.Information); - wb.Close(); - } - } - ExcelApp.ScreenUpdating = true; - - return sourceFiles; - } - } -} diff --git a/src/Ribbon/RibbonController.cs b/src/Ribbon/RibbonController.cs index d78c6df..9011a43 100644 --- a/src/Ribbon/RibbonController.cs +++ b/src/Ribbon/RibbonController.cs @@ -42,7 +42,7 @@ namespace RehauSku.Ribbon if (files.Length != 0) { - mergeTool.SourceFiles = SourceUtil.GetSourceLists(files); + mergeTool.SourceFiles = Source.GetSourceLists(files); mergeTool.OpenNewPrice(); mergeTool.FillTarget(); } @@ -55,7 +55,7 @@ namespace RehauSku.Ribbon if (files.Length != 0) { - combineTool.SourceFiles = SourceUtil.GetSourceLists(files); + combineTool.SourceFiles = Source.GetSourceLists(files); combineTool.OpenNewPrice(); combineTool.FillTarget(); }