diff --git a/PROMS/DataLoader/frmLoader.Designer.cs b/PROMS/DataLoader/frmLoader.Designer.cs index f793893e..22574d06 100644 --- a/PROMS/DataLoader/frmLoader.Designer.cs +++ b/PROMS/DataLoader/frmLoader.Designer.cs @@ -18,6 +18,7 @@ namespace DataLoader components.Dispose(); } base.Dispose(disposing); + Volian.MSWord.WordDoc.CloseApp(); } #region Windows Form Designer generated code diff --git a/PROMS/Volian.Utils.Library/MSWord/WordDoc.cs b/PROMS/Volian.Utils.Library/MSWord/WordDoc.cs index aec6d129..9a5cfe09 100644 --- a/PROMS/Volian.Utils.Library/MSWord/WordDoc.cs +++ b/PROMS/Volian.Utils.Library/MSWord/WordDoc.cs @@ -9,8 +9,8 @@ namespace Volian.MSWord { public class WordDoc { - private object optional = Missing.Value; - private object oFalse = false; + private static object optional = Missing.Value; + private static object oFalse = false; private object oTrue = true; private object oBlank = ""; private object oWdStory = WdUnits.wdStory; @@ -21,7 +21,7 @@ namespace Volian.MSWord private object oWdExtend = WdMovementType.wdExtend; private object oWdMove = WdMovementType.wdMove; private object o1 = 1; - private Application m_App; + private static Application m_App; // Microsoft.Office.Interop.Word.Application App // { // get{return m_App;} @@ -40,7 +40,7 @@ namespace Volian.MSWord } public WordDoc(string sPath) { - m_App = new ApplicationClass(); + OpenApp(); //m_App.Visible = true; mDocName = sPath; object oFile = sPath; @@ -106,7 +106,8 @@ namespace Volian.MSWord } public void Close() { - m_App.Quit(ref oFalse, ref optional, ref optional); + m_Doc.Close(ref oFalse, ref optional, ref optional); + //CloseApp(); } public void SetLineSpacing(float linesPerInch) // if need landscape set too: , bool landscape) { @@ -118,6 +119,18 @@ namespace Volian.MSWord sel.ParagraphFormat.LineSpacingRule = WdLineSpacing.wdLineSpaceExactly; sel.ParagraphFormat.LineSpacing = 72/linesPerInch; // 12 ==> 6 Lines per inch } - + public void OpenApp() + { + if(m_App==null) + m_App = new ApplicationClass(); + } + public static void CloseApp() + { + if (m_App != null) + { + m_App.Quit(ref oFalse, ref optional, ref optional); + m_App = null; + } + } } }