c# word interop encrypt with password protect with password

  • 185
  • 0

c# word interop encrypt with password protect with password

		public static void EncryptWithPassword(string unEncryptedWordPath, string password)
		{
			Word.Application wordApp = null;
			Word.Document document = null;

			try
			{
				object missung = System.Type.Missing;
				object odocPath = unEncryptedWordPath;
				object opassword = password;
			
				wordApp = new Word.Application();
				document = wordApp.Documents.Open(odocPath);
				document.Password = password;
				document.SaveAs(ref odocPath, Word.WdSaveFormat.wdFormatDocumentDefault);
			}
			catch (Exception e)
			{
				string s = e.ToString();
				Console.WriteLine(s);
				throw;
			}
			finally
			{
				Quit(wordApp, document);
			}
		}




        public static void Quit(Word._Application wordApp, Word._Document doc)
        {
			if(doc != null)
				((Word._Document)doc).Close(Word.WdSaveOptions.wdDoNotSaveChanges);
			object ofalse = false;
			//ref false   to prevent the Word Process Hang in Task Manager
			if(wordApp !=null && wordApp.Application != null)
				((Word._Application)wordApp.Application).Quit(ref ofalse, ref ofalse, ref ofalse);
        }