From 43b60aa31305f1ce0a8159ef23e7a98ef36d6de8 Mon Sep 17 00:00:00 2001 From: Daniel Kraus Date: Sat, 29 Jul 2017 22:57:25 +0200 Subject: [PATCH 1/5] Fix batch export state analysis. - Fix: Some options in batch export settings were not enabled or disabled properly. --- XLToolbox/Export/ViewModels/BatchExportSettingsViewModel.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/XLToolbox/Export/ViewModels/BatchExportSettingsViewModel.cs b/XLToolbox/Export/ViewModels/BatchExportSettingsViewModel.cs index f499ac10..7fc3a974 100755 --- a/XLToolbox/Export/ViewModels/BatchExportSettingsViewModel.cs +++ b/XLToolbox/Export/ViewModels/BatchExportSettingsViewModel.cs @@ -169,6 +169,7 @@ public bool IsOpenWorkbooksEnabled set { _isOpenWorkbooksEnabled = value; + if (!value && Scope.AsEnum == BatchExportScope.OpenWorkbooks) Scope.AsEnum = BatchExportScope.ActiveWorkbook; OnPropertyChanged("IsAllWorkbooksEnabled"); } } @@ -195,6 +196,7 @@ public bool IsChartsAndShapesEnabled set { _isChartsAndShapesEnabled = value; + if (!value && Objects.AsEnum == BatchExportObjects.ChartsAndShapes) Objects.AsEnum = BatchExportObjects.Charts; OnPropertyChanged("IsChartsAndShapesEnabled"); } } @@ -221,7 +223,8 @@ public bool IsSheetLayoutEnabled set { _isSheetLayoutEnabled = value; - OnPropertyChanged("IsPreserveLayoutEnabled"); + if (!value && Layout.AsEnum == BatchExportLayout.SheetLayout) Layout.AsEnum = BatchExportLayout.SingleItems; + OnPropertyChanged("IsSheetLayoutEnabled"); } } From 0ac4ca1959c4f0380a05ad744eaa0c3ef97bf530 Mon Sep 17 00:00:00 2001 From: Daniel Kraus Date: Sat, 4 Nov 2017 22:18:28 +0100 Subject: [PATCH 2/5] Fall back to en-US locale when loading legacy add-in. - Fix: Prevent 'could not open legacy add-in' errors. Closes #211, closes #434, closes #570, closes #604, closes #605, closes #612, closes #615, closes #620, closes #621, closes #623. --- XLToolbox/Excel/ViewModels/Instance.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/XLToolbox/Excel/ViewModels/Instance.cs b/XLToolbox/Excel/ViewModels/Instance.cs index b76cefdf..7ad8f7d9 100755 --- a/XLToolbox/Excel/ViewModels/Instance.cs +++ b/XLToolbox/Excel/ViewModels/Instance.cs @@ -649,18 +649,28 @@ internal string LoadAddinFromEmbeddedResource(string resourceName) { Logger.Warn("LoadAddinFromEmbeddedResource: COM exception caught, falling back to CorruptLoad"); DisableDisplayAlerts(); + + // Temporarily set locale to en-US to prevent errors on opening add-in + // See https://stackoverflow.com/a/27756126/270712 + Logger.Info("LoadAddinFromEmbeddedResource: Temporarily setting locale to en-US"); + System.Globalization.CultureInfo oldLocale = System.Threading.Thread.CurrentThread.CurrentCulture; + System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); + try { - Workbooks.Open(addinPath, CorruptLoad: XlCorruptLoad.xlExtractData); + // Workbooks.Open(addinPath, CorruptLoad: XlCorruptLoad.xlExtractData); + Workbooks.Open(addinPath); } catch (System.Runtime.InteropServices.COMException e) { - Logger.Fatal("LoadAddinFromEmbeddedResource: COM exception occurred after calling Workbooks.Open"); + Logger.Fatal("LoadAddinFromEmbeddedResource: COM exception occurred when calling Workbooks.Open"); Logger.Fatal(e); throw new XLToolbox.Excel.ExcelException("Excel failed to load the legacy Toolbox add-in", e); } finally { + Logger.Info("LoadAddinFromEmbeddedResource: Setting locale back to #{0}", oldLocale.ToString()); + System.Threading.Thread.CurrentThread.CurrentCulture = oldLocale; EnableDisplayAlerts(); } } From 6f8947ed372d4156a3c80e3018951ff9dd897ce6 Mon Sep 17 00:00:00 2001 From: Daniel Kraus Date: Sat, 4 Nov 2017 22:27:33 +0100 Subject: [PATCH 3/5] Update packages. - Fix: Attempt to fix occasional "method not found" errors when starting the Toolbox. --- Tests/Tests.csproj | 8 ++++---- Tests/app.config | 2 +- Tests/packages.config | 4 ++-- XLToolbox/XLToolbox.csproj | 10 +++++----- XLToolbox/app.config | 2 +- XLToolbox/packages.config | 6 +++--- XLToolboxForExcel/XLToolboxForExcel.csproj | 8 ++++---- XLToolboxForExcel/app.config | 2 +- XLToolboxForExcel/packages.config | 4 ++-- 9 files changed, 23 insertions(+), 23 deletions(-) diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj index d13fec44..fab30a06 100755 --- a/Tests/Tests.csproj +++ b/Tests/Tests.csproj @@ -74,7 +74,7 @@ True - ..\packages\NLog.4.3.7\lib\net40\NLog.dll + ..\packages\NLog.4.4.12\lib\net40\NLog.dll True @@ -105,8 +105,8 @@ - - ..\packages\YamlDotNet.Signed.4.1.0\lib\net35\YamlDotNet.dll + + ..\packages\YamlDotNet.Signed.4.2.1\lib\net35\YamlDotNet.dll True @@ -209,4 +209,4 @@ --> - + \ No newline at end of file diff --git a/Tests/app.config b/Tests/app.config index 0de04ea8..1b068eba 100755 --- a/Tests/app.config +++ b/Tests/app.config @@ -35,7 +35,7 @@ - + diff --git a/Tests/packages.config b/Tests/packages.config index e9d47d5e..c67e7729 100755 --- a/Tests/packages.config +++ b/Tests/packages.config @@ -21,7 +21,7 @@ - + - + diff --git a/XLToolbox/XLToolbox.csproj b/XLToolbox/XLToolbox.csproj index e1b9c1a3..1cdf55a5 100755 --- a/XLToolbox/XLToolbox.csproj +++ b/XLToolbox/XLToolbox.csproj @@ -78,11 +78,11 @@ - ..\packages\NLog.4.3.7\lib\net40\NLog.dll + ..\packages\NLog.4.4.12\lib\net40\NLog.dll True - - ..\packages\NUnit.3.4.1\lib\net40\nunit.framework.dll + + ..\packages\NUnit.3.7.1\lib\net40\nunit.framework.dll True @@ -100,8 +100,8 @@ - - ..\packages\YamlDotNet.Signed.4.1.0\lib\net35\YamlDotNet.dll + + ..\packages\YamlDotNet.Signed.4.2.1\lib\net35\YamlDotNet.dll True diff --git a/XLToolbox/app.config b/XLToolbox/app.config index adbd8020..fcc392f4 100755 --- a/XLToolbox/app.config +++ b/XLToolbox/app.config @@ -89,7 +89,7 @@ - + diff --git a/XLToolbox/packages.config b/XLToolbox/packages.config index b8928037..65ac2c54 100755 --- a/XLToolbox/packages.config +++ b/XLToolbox/packages.config @@ -21,7 +21,7 @@ - - - + + + diff --git a/XLToolboxForExcel/XLToolboxForExcel.csproj b/XLToolboxForExcel/XLToolboxForExcel.csproj index 7e3158b5..4b4efaeb 100755 --- a/XLToolboxForExcel/XLToolboxForExcel.csproj +++ b/XLToolboxForExcel/XLToolboxForExcel.csproj @@ -160,7 +160,7 @@ - ..\packages\NLog.4.3.7\lib\net40\NLog.dll + ..\packages\NLog.4.4.12\lib\net40\NLog.dll True @@ -180,8 +180,8 @@ - - ..\packages\YamlDotNet.Signed.4.1.0\lib\net35\YamlDotNet.dll + + ..\packages\YamlDotNet.Signed.4.2.1\lib\net35\YamlDotNet.dll True @@ -333,4 +333,4 @@ - + \ No newline at end of file diff --git a/XLToolboxForExcel/app.config b/XLToolboxForExcel/app.config index 3f86aef3..f490eb2a 100755 --- a/XLToolboxForExcel/app.config +++ b/XLToolboxForExcel/app.config @@ -35,7 +35,7 @@ - + diff --git a/XLToolboxForExcel/packages.config b/XLToolboxForExcel/packages.config index af838687..ea5ab5b5 100755 --- a/XLToolboxForExcel/packages.config +++ b/XLToolboxForExcel/packages.config @@ -21,6 +21,6 @@ - - + + From 6c0376ed00f03a983d25ef7a26ed5ec48dd9f99e Mon Sep 17 00:00:00 2001 From: Daniel Kraus Date: Mon, 6 Nov 2017 21:05:51 +0100 Subject: [PATCH 4/5] Release metafile handle after export. - Fix: After exporting to an EMF file, the file handle was not properly released, preventing write access to the exported file until Excel was closed. --- XLToolbox/Export/Exporter.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/XLToolbox/Export/Exporter.cs b/XLToolbox/Export/Exporter.cs index 502b73d8..0a2bf059 100755 --- a/XLToolbox/Export/Exporter.cs +++ b/XLToolbox/Export/Exporter.cs @@ -339,7 +339,9 @@ private void ExportEmf(Metafile metafile) IntPtr handle = metafile.GetHenhmetafile(); PercentCompleted = 50; Logger.Info("ExportEmf, handle: {0}", handle); - Bovender.Unmanaged.Pinvoke.CopyEnhMetaFile(handle, FileName); + IntPtr copy = Bovender.Unmanaged.Pinvoke.CopyEnhMetaFile(handle, FileName); + Logger.Info("Deleting meta file handle: {0}", copy); + Bovender.Unmanaged.Pinvoke.DeleteEnhMetaFile(copy); PercentCompleted = 100; } From d17ab502c792b7406b13ec850b5beebd319713b8 Mon Sep 17 00:00:00 2001 From: Daniel Kraus Date: Sun, 26 Nov 2017 07:50:41 +0100 Subject: [PATCH 5/5] Prepare release 7.2.13. --- Tests/Properties/AssemblyInfo.cs | 4 ++-- VERSION | 4 ++-- XLToolbox/Properties/AssemblyInfo.cs | 4 ++-- XLToolboxForExcel/Properties/AssemblyInfo.cs | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Tests/Properties/AssemblyInfo.cs b/Tests/Properties/AssemblyInfo.cs index d07d8b1a..d4fd54b3 100755 --- a/Tests/Properties/AssemblyInfo.cs +++ b/Tests/Properties/AssemblyInfo.cs @@ -49,5 +49,5 @@ // 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("7.2.12.0")] -[assembly: AssemblyFileVersion("7.2.12.0")] +[assembly: AssemblyVersion("7.2.13.0")] +[assembly: AssemblyFileVersion("7.2.13.0")] diff --git a/VERSION b/VERSION index 74e61873..fbf4797f 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -7.2.12 -7.2.12.0 +7.2.13 +7.2.13.0 diff --git a/XLToolbox/Properties/AssemblyInfo.cs b/XLToolbox/Properties/AssemblyInfo.cs index 16c3e6dd..9303aa52 100755 --- a/XLToolbox/Properties/AssemblyInfo.cs +++ b/XLToolbox/Properties/AssemblyInfo.cs @@ -49,5 +49,5 @@ // 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("7.2.12.0")] -[assembly: AssemblyFileVersion("7.2.12.0")] +[assembly: AssemblyVersion("7.2.13.0")] +[assembly: AssemblyFileVersion("7.2.13.0")] diff --git a/XLToolboxForExcel/Properties/AssemblyInfo.cs b/XLToolboxForExcel/Properties/AssemblyInfo.cs index 63880300..cd928011 100755 --- a/XLToolboxForExcel/Properties/AssemblyInfo.cs +++ b/XLToolboxForExcel/Properties/AssemblyInfo.cs @@ -51,7 +51,7 @@ // 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("7.2.12.0")] -[assembly: AssemblyFileVersion("7.2.12.0")] +[assembly: AssemblyVersion("7.2.13.0")] +[assembly: AssemblyFileVersion("7.2.13.0")] [assembly: NeutralResourcesLanguageAttribute("en-US")]