aboutsummaryrefslogtreecommitdiff
path: root/src/PriceListTools/Source.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/PriceListTools/Source.cs')
-rw-r--r--src/PriceListTools/Source.cs34
1 files changed, 33 insertions, 1 deletions
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<Source> GetSourceLists(string[] files)
+ {
+ var ExcelApp = (Application)ExcelDnaUtil.Application;
+
+ List<Source> sourceFiles = new List<Source>();
+
+ 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<Position, double>();