Пример #1
0
        public static void Export(int id)
        {
            Word.Application wordApp = null;
            Word.Document    wordDoc = null;
            try
            {
                wordApp         = new Word.Application();
                wordApp.Visible = true;
                wordDoc         = wordApp.Documents.Open(Environment.CurrentDirectory + @"\Шаблон.docx");

                var document  = GetDocument(id);
                var firstDate = DateTime.ParseExact(document.FirstDate, "M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
                var lastDate  = DateTime.ParseExact(document.LastDate, "M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
                var nowDate   = DateTime.Now;
                wordDoc.Bookmarks["Номер_карточки"].Range.GetFormatingRange(document.Id.ToString());
                wordDoc.Bookmarks["Заявитель"].Range.GetFormatingRange($"{document.LName} {document.FName} {document.SName}");
                wordDoc.Bookmarks["Телефон"].Range.GetFormatingRange(document.Phone);
                wordDoc.Bookmarks["Улица"].Range.GetFormatingRange(document.Street);
                wordDoc.Bookmarks["Дом"].Range.GetFormatingRange(document.HomeNumber.ToString());
                wordDoc.Bookmarks["Квартира"].Range.GetFormatingRange(document.Apartment.ToString());
                wordDoc.Bookmarks["Содержание"].Range.GetFormatingRange(document.DescriptionProblem);
                wordDoc.Bookmarks["Работник"].Range.GetFormatingRange(document.Worker);
                wordDoc.Bookmarks["Дата_поступления"].Range.GetFormatingRange(firstDate.ToLongDateString());
                wordDoc.Bookmarks["Текущая_дата"].Range.GetFormatingRange(nowDate.ToLongDateString());
                wordDoc.Bookmarks["Дата_выполнения"].Range.GetFormatingRange(lastDate.ToLongDateString());
                wordDoc.Bookmarks["Результаты"].Range.GetFormatingRange(document.DescriptionResult);
                wordDoc.Bookmarks["Сумма"].Range.GetFormatingRange(document.Money.ToString());
            }
            finally
            {
                wordDoc?.Dispose();
                wordApp?.Quit();
            }
        }
 /// <summary>
 /// Try dispose given document after Inspect/Fix
 /// </summary>
 /// <param name="document">given document as any</param>
 /// <returns>true if no error occured, otherwise false</returns>
 protected virtual bool TryDisposeDocumentInspectorDocument(Word.Document document)
 {
     try
     {
         if (null != document && false == document.IsDisposed)
         {
             document.Dispose();
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Пример #3
0
 private void listViewSearchResults_DoubleClick(object sender, EventArgs e)
 {
     try
     {
         if (listViewSearchResults.SelectedItems.Count > 0)
         {
             Word.Document activeDocument = Addin.Application.ActiveDocument;
             if (null != activeDocument)
             {
                 Customer selectedCustomer = listViewSearchResults.SelectedItems[0].Tag as Customer;
                 Addin.Application.Selection.TypeText(selectedCustomer.ToString());
                 activeDocument.Dispose();
             }
         }
     }
     catch (Exception exception)
     {
         MessageBox.Show(exception.Message, "An error is occured", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Пример #4
0
 private static bool TryDisposeDocumentInspectorDocument(Word.Document document, object comProxy)
 {
     try
     {
         if (null != document && false == document.IsDisposed)
         {
             document.Dispose();
         }
         else if (null == document)
         {
             if (null != comProxy)
             {
                 Marshal.ReleaseComObject(comProxy);
             }
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Пример #5
0
 void wordApplication_NewDocumentEvent(NetOffice.WordApi.Document Doc)
 {
     textBoxEvents.BeginInvoke(_updateDelegate, new object[] { "Event NewDocumentEvent called." });
     Doc.Dispose();
 }
Пример #6
0
 void wordApplication_DocumentBeforeCloseEvent(NetOffice.WordApi.Document Doc, ref bool Cancel)
 {
     textBoxEvents.BeginInvoke(_updateDelegate, new object[] { "Event DocumentBeforeClose called." });
     Doc.Dispose();
 }
Пример #7
0
 void wordApplication_NewDocumentEvent(NetOffice.WordApi.Document Doc)
 {
     _newDocumentCalled = true;
     Doc.Dispose();
 }
Пример #8
0
 void wordApplication_DocumentBeforeCloseEvent(NetOffice.WordApi.Document Doc, ref bool Cancel)
 {
     _beforeCloseCalled = true;
     Doc.Dispose();
 }