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); } }
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); } }
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); } }
void wordApplication_NewDocumentEvent(NetOffice.WordApi.Document Doc) { textBoxEvents.BeginInvoke(_updateDelegate, new object[] { "Event NewDocumentEvent called." }); Doc.Dispose(); }
void wordApplication_DocumentBeforeCloseEvent(NetOffice.WordApi.Document Doc, ref bool Cancel) { textBoxEvents.BeginInvoke(_updateDelegate, new object[] { "Event DocumentBeforeClose called." }); Doc.Dispose(); }
void wordApplication_NewDocumentEvent(NetOffice.WordApi.Document Doc) { _newDocumentCalled = true; Doc.Dispose(); }
void wordApplication_DocumentBeforeCloseEvent(NetOffice.WordApi.Document Doc, ref bool Cancel) { _beforeCloseCalled = true; Doc.Dispose(); }