Example #1
0
File: Word.cs Project: Zagii/EAkzg
        public void dodajRozdzialNaKoncu(String tekst, String styl)
        {
            Wordy.Paragraph par = wordApp.ActiveDocument.Paragraphs.Add();

            String styl_txt = "";

            if (styl == "1")
            {
                styl_txt = "HLD_tytul_rozdzialu";
            }
            if (styl == "2")
            {
                styl_txt = "HLD_tytul_podrozdzialu";
            }
            if (styl == "3")
            {
                styl_txt = "HLD_tytul_podrozdzialu";
            }


            object indentStyle = styl_txt;

            par.set_Style(indentStyle);
            par.Range.Select();
            par.Range.InsertAfter(tekst);
        }
Example #2
0
        internal void CreateReport(bool leaveOpen)
        {
            ProjectsAccess         pa       = new ProjectsAccess();
            List <ResearchProject> Projects = pa.GetProjectsList();

            Word._Application _app = new Word.Application();

            if (leaveOpen)
            {
                _app.Visible = true;
            }

            object missing = Type.Missing;

            Word.Document doc = _app.Documents.Add(ref missing, ref missing, ref missing, ref missing);

            Word.Paragraph currentParagraph = doc.Paragraphs.Add(ref missing);
            currentParagraph.Range.Text = "Independent Investigator Profiles";
            object styleHeading = "Heading 1";

            currentParagraph.set_Style(ref styleHeading);
            currentParagraph.Range.InsertParagraphAfter();

            foreach (ResearchProject proj in Projects)
            {
                currentParagraph.SpaceBefore = 0f;
                currentParagraph.SpaceAfter  = 0f;
                currentParagraph.Range.Text  = String.Format(projectFormatString, proj.Investigators, proj.CoInvestigators, proj.ProjectTitle, proj.Objectives, proj.Methods, proj.Results, proj.Conclusions, proj.FutureStudies);

                currentParagraph.Range.InsertParagraphAfter();
            }

            if (!leaveOpen)
            {
                object file_name = AppDomain.CurrentDomain.BaseDirectory + "test.docx";
                object file_type = Word.WdSaveFormat.wdFormatDocumentDefault;
                doc.SaveAs(ref file_name, ref file_type, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
                object save_changes = false;
                doc.Close(ref save_changes, ref missing, ref missing);
                _app.Quit(ref save_changes, ref missing, ref missing);
            }
            pa.CloseStorage();
        }
Example #3
0
        public bool InsertText(string text, string heading)
        {
            bool bRet = false;

            try
            {
                Word.Paragraph paragrah = m_WordDoc.Paragraphs.Add(ref missing);
                paragrah.Range.Text = text;
                object obj = heading;
                paragrah.set_Style(ref obj);
                paragrah.Range.InsertParagraphAfter();

                bRet = true;
            }
            catch (System.Exception)
            {
                bRet = false;
            }

            return(bRet);
        }
        public static void exportAccounts(List <Account> accounts)
        {
            Word.Application wordApp = new Word.Application();
            wordApp.ShowAnimation = false;
            wordApp.Visible       = false;
            object missingValue = System.Reflection.Missing.Value;

            Word.Document document = wordApp.Documents.Add(ref missingValue, ref missingValue, ref missingValue, ref missingValue);

            foreach (Word.Section section in document.Sections)
            {
                Word.Range headerRange = section.Headers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;
                headerRange.Fields.Add(headerRange, Word.WdFieldType.wdFieldPage);
                headerRange.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
                headerRange.Font.ColorIndex           = Word.WdColorIndex.wdBlue;
                headerRange.Font.Size = 12;
                headerRange.Text      = "List of accounts";
            }

            foreach (Word.Section section in document.Sections)
            {
                Word.Range footerRange = section.Footers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;
                footerRange.Font.ColorIndex           = Word.WdColorIndex.wdDarkRed;
                footerRange.Font.Size                 = 12;
                footerRange.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
                footerRange.Text = "Programming Engineering";
            }

            document.Content.SetRange(0, 0);
            foreach (Account account in accounts)
            {
                document.Content.Text = "Account details" + Environment.NewLine;

                Word.Paragraph accountNumberParagraph = document.Content.Paragraphs.Add(ref missingValue);
                object         styleHeading           = "Heading 2";
                accountNumberParagraph.set_Style(styleHeading);
                accountNumberParagraph.Range.Text = "Account Number: " + account.AccountNo;
                accountNumberParagraph.Range.InsertParagraphAfter();

                Word.Paragraph accountTypeParagraph = document.Content.Paragraphs.Add(ref missingValue);
                accountTypeParagraph.set_Style(styleHeading);
                accountTypeParagraph.Range.Text = "Account Type: " + account.AccountType;
                accountTypeParagraph.Range.InsertParagraphAfter();

                Word.Paragraph currencyParagraph = document.Content.Paragraphs.Add(ref missingValue);
                currencyParagraph.set_Style(styleHeading);
                currencyParagraph.Range.Text = "Currency: " + account.Currency;
                currencyParagraph.Range.InsertParagraphAfter();

                Word.Paragraph amountParagraph = document.Content.Paragraphs.Add(ref missingValue);
                amountParagraph.set_Style(styleHeading);
                amountParagraph.Range.Text = "Amount: " + account.Ammount;
                amountParagraph.Range.InsertParagraphAfter();

                Word.Paragraph openDateParagraph = document.Content.Paragraphs.Add(ref missingValue);
                openDateParagraph.set_Style(styleHeading);
                openDateParagraph.Range.Text = "Open Date: " + account.OpenDate;
                openDateParagraph.Range.InsertParagraphAfter();
            }

            object filename = @"C:\Accounts.docx";

            document.SaveAs2(ref filename);
            document.Close(ref missingValue, ref missingValue, ref missingValue);
            document = null;
            wordApp.Quit(ref missingValue, ref missingValue, ref missingValue);
            wordApp = null;
        }
        private void Export_Word_Click(object sender, RoutedEventArgs e)
        {
            var allUsers      = _context.Билет.ToList();
            var allCategories = _context.Клиент.ToList();

            var application = new Word.Application();

            Word.Document document = application.Documents.Add();

            foreach (var user in allUsers)
            {
                Word.Paragraph userParagrapth = document.Paragraphs.Add();
                Word.Range     userRange      = userParagrapth.Range;
                userRange.Text = user.Код_заказа + " " + user.Код_сотрудника;
                userParagrapth.set_Style("Обычный");
                userRange.InsertParagraphAfter();

                Word.Paragraph tableParagraph = document.Paragraphs.Add();
                Word.Range     tableRange     = tableParagraph.Range;
                Word.Table     paymentsTable  = document.Tables.Add(tableRange, allCategories.Count() + 1, 3);
                paymentsTable.Borders.InsideLineStyle       = paymentsTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;
                paymentsTable.Range.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;

                Word.Range cellRange;

                cellRange      = paymentsTable.Cell(1, 1).Range;
                cellRange.Text = "Иконка";
                cellRange      = paymentsTable.Cell(1, 2).Range;
                cellRange.Text = "Категория";
                cellRange      = paymentsTable.Cell(1, 3).Range;
                cellRange.Text = "Сумма расходов";

                paymentsTable.Rows[1].Range.Bold = 1;
                paymentsTable.Rows[1].Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;

                for (int i = 0; i < allCategories.Count(); i++)
                {
                    var currentCategory = allCategories[i];

                    cellRange = paymentsTable.Cell(i + 2, 1).Range;
                    Word.InlineShape imageShape = cellRange.InlineShapes.AddPicture(AppDomain.CurrentDomain.BaseDirectory + "\\Assets\\" + currentCategory.icon);
                    imageShape.Width = imageShape.Height = 40;
                    cellRange.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;

                    cellRange      = paymentsTable.Cell(i + 2, 2).Range;
                    cellRange.Text = currentCategory.телефон;

                    cellRange      = paymentsTable.Cell(i + 2, 3).Range;
                    cellRange.Text = user.Заказ.ToList().Where(p => p.Код_клиента == currentCategory.Код_клиента).Sum(p => p.Код_заказа * p.Код_клиента).ToString("N2") + "руб";
                }
                Заказ maxPayment = user.Заказ.OrderByDescending(p => p.Код_заказа * p.Код_клиента).FirstOrDefault();

                if (maxPayment != null)
                {
                    Word.Paragraph maxPaymentParagraph = document.Paragraphs.Add();
                    Word.Range     maxPaymentRange     = maxPaymentParagraph.Range;
                    maxPaymentRange.Text = $"Самый дорогостоящий платеж - {maxPayment.Дата_оформления} за {(maxPayment.Код_заказа * maxPayment.Код_клиента).ToString("N2")} ";
                    maxPaymentRange.set_Style("Выделенная цитата");
                    maxPaymentRange.Font.Color = Word.WdColor.wdColorDarkRed;
                    maxPaymentRange.InsertParagraphAfter();
                }

                Заказ minPayment = user.Заказ.OrderBy(p => p.Код_заказа * p.Код_клиента).FirstOrDefault();

                if (minPayment != null)
                {
                    Word.Paragraph minPaymentParagraph = document.Paragraphs.Add();
                    Word.Range     minPaymentRange     = minPaymentParagraph.Range;
                    minPaymentRange.Text = $"Самый дешевый платеж - {minPayment.Дата_оформления} за {(minPayment.Код_заказа * minPayment.Код_клиента).ToString("N2")} ";
                    minPaymentRange.set_Style("Выделенная цитата");
                    minPaymentRange.Font.Color = Word.WdColor.wdColorDarkGreen;
                    minPaymentRange.InsertParagraphAfter();
                }

                if (user != allUsers.LastOrDefault())
                {
                    document.Words.Last.InsertBreak(Word.WdBreakType.wdPageBreak);
                }
            }
            application.Visible = true;

            document.SaveAs(@"D:\для с#\программные решения для бизнеса\diagramms\diagramms\packages\Test.docx");
            document.SaveAs(@"D:\для с#\программные решения для бизнеса\diagramms\diagramms\packages\Test.pdf", Word.WdExportFormat.wdExportFormatPDF);
        }
Example #6
0
        private void btnPDF_Click(object sender, RoutedEventArgs e)
        {
            if (type == 1)
            {
                var Emp = db.Employee.ToList();

                //экземпляр приложения
                var app = new Word.Application();

                //добавления документа в приложение
                Word.Document doc = app.Documents.Add();

                foreach (var item in Emp)
                {
                    Word.Paragraph parHead   = doc.Paragraphs.Add();
                    Word.Range     rangeHead = parHead.Range;
                    rangeHead.Text = $"Отчет по оказанным услугам сотрудника: {item.Surname} {item.Name} {item.Patronymic}";
                    try
                    {
                        parHead.set_Style("Title");
                    }
                    catch
                    {
                        parHead.set_Style("Заголовок");
                    }
                    rangeHead.InsertParagraphAfter();

                    Word.Paragraph tablePar    = doc.Paragraphs.Add();
                    Word.Range     tabRan      = tablePar.Range;
                    Word.Table     analyzTable = doc.Tables.Add(tabRan, item.Zakazi.Count() + 1, 3);
                    analyzTable.Borders.InsideLineStyle       = analyzTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;
                    analyzTable.Range.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;

                    Word.Range cellRange;

                    cellRange      = analyzTable.Cell(1, 1).Range;
                    cellRange.Text = "Код заказа";
                    cellRange      = analyzTable.Cell(1, 2).Range;
                    cellRange.Text = "Блюда";
                    cellRange      = analyzTable.Cell(1, 3).Range;
                    cellRange.Text = "Итог";

                    analyzTable.Rows[1].Range.Bold = 1;
                    analyzTable.Rows[1].Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;

                    var pOrders = db.Zakazi.Where(t => t.Employee == item.idEmployee).ToList();

                    for (int i = 0; i < pOrders.Count(); i++)
                    {
                        var currentOrd = pOrders[i];

                        cellRange      = analyzTable.Cell(i + 2, 1).Range;
                        cellRange.Text = currentOrd.idZakaza.ToString();

                        string txt = "";

                        foreach (var item3 in db.ZakazBluda)
                        {
                            if (item3.idZakaza == pOrders[i].idZakaza)
                            {
                                if (txt == "")
                                {
                                    txt = "Наименование: " + item3.Menu.NameBludo + ", кол-во: " + item3.Kolvo + ", цена: " + item3.Cena;
                                }
                                else
                                {
                                    txt += "\nНаименование: " + item3.Menu.NameBludo + ", кол-во: " + item3.Kolvo + ", цена: " + item3.Cena;
                                }
                            }
                        }

                        cellRange      = analyzTable.Cell(i + 2, 2).Range;
                        cellRange.Text = txt;

                        cellRange      = analyzTable.Cell(i + 2, 3).Range;
                        cellRange.Text = currentOrd.SummaZakaza.ToString();
                    }

                    Word.Paragraph itogAnalyz = doc.Paragraphs.Add();
                    Word.Range     itogRange  = itogAnalyz.Range;

                    double summ = 0;
                    foreach (var item2 in db.Zakazi)
                    {
                        if (item2.Employee == item.idEmployee)
                        {
                            summ += item2.SummaZakaza;
                        }
                    }

                    itogRange.Text = $"Общая сумма: {summ}.";
                    try
                    {
                        itogRange.set_Style("Intense Quote");
                    }
                    catch
                    {
                        itogRange.set_Style("Выделенная цитата");
                    }
                    itogRange.Font.Color = Word.WdColor.wdColorRed;
                    itogRange.InsertParagraphAfter();

                    if (item != Emp.LastOrDefault())
                    {
                        doc.Words.Last.InsertBreak(Word.WdBreakType.wdPageBreak);
                    }
                }
                app.Visible = true;
            }
            else if (type == 2)
            {
                var Men = db.Menu.ToList();

                //экземпляр приложения
                var app = new Word.Application();

                //добавления документа в приложение
                Word.Document doc = app.Documents.Add();

                Word.Paragraph parHead   = doc.Paragraphs.Add();
                Word.Range     rangeHead = parHead.Range;
                rangeHead.Text = $"Отчет по блюдам";
                try
                {
                    parHead.set_Style("Title");
                }
                catch
                {
                    parHead.set_Style("Заголовок");
                }
                rangeHead.InsertParagraphAfter();

                Word.Paragraph tablePar    = doc.Paragraphs.Add();
                Word.Range     tabRan      = tablePar.Range;
                Word.Table     analyzTable = doc.Tables.Add(tabRan, Men.Count() + 1, 3);
                analyzTable.Borders.InsideLineStyle       = analyzTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;
                analyzTable.Range.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;

                Word.Range cellRange;

                cellRange      = analyzTable.Cell(1, 1).Range;
                cellRange.Text = "Код";
                cellRange      = analyzTable.Cell(1, 2).Range;
                cellRange.Text = "Наименование";
                cellRange      = analyzTable.Cell(1, 3).Range;
                cellRange.Text = "Количество заказов";

                analyzTable.Rows[1].Range.Bold = 1;
                analyzTable.Rows[1].Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;

                var pMenu = db.Menu.ToList();

                for (int i = 0; i < pMenu.Count(); i++)
                {
                    var currentMenu = pMenu[i];

                    cellRange      = analyzTable.Cell(i + 2, 1).Range;
                    cellRange.Text = currentMenu.idBluda.ToString();

                    cellRange      = analyzTable.Cell(i + 2, 2).Range;
                    cellRange.Text = currentMenu.NameBludo.ToString();

                    int sum = 0;
                    foreach (var item in db.ZakazBluda)
                    {
                        if (pMenu[i].idBluda == item.Menu.idBluda)
                        {
                            sum += item.Kolvo;
                        }
                    }
                    cellRange      = analyzTable.Cell(i + 2, 3).Range;
                    cellRange.Text = sum.ToString();
                }

                Word.Paragraph itogAnalyz = doc.Paragraphs.Add();
                Word.Range     itogRange  = itogAnalyz.Range;

                itogRange.Font.Color = Word.WdColor.wdColorRed;
                itogRange.InsertParagraphAfter();

                app.Visible = true;
            }
            else if (type == 3)
            {
                var SC = db.SkidCards.ToList();

                //экземпляр приложения
                var app = new Word.Application();

                //добавления документа в приложение
                Word.Document doc = app.Documents.Add();

                Word.Paragraph parHead   = doc.Paragraphs.Add();
                Word.Range     rangeHead = parHead.Range;
                rangeHead.Text = $"Отчет по скидочным картам";
                try
                {
                    parHead.set_Style("Title");
                }
                catch
                {
                    parHead.set_Style("Заголовок");
                }
                rangeHead.InsertParagraphAfter();

                Word.Paragraph tablePar    = doc.Paragraphs.Add();
                Word.Range     tabRan      = tablePar.Range;
                Word.Table     analyzTable = doc.Tables.Add(tabRan, SC.Count() + 1, 3);
                analyzTable.Borders.InsideLineStyle       = analyzTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;
                analyzTable.Range.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;

                Word.Range cellRange;

                cellRange      = analyzTable.Cell(1, 1).Range;
                cellRange.Text = "Код";
                cellRange      = analyzTable.Cell(1, 2).Range;
                cellRange.Text = "ФИО";
                cellRange      = analyzTable.Cell(1, 3).Range;
                cellRange.Text = "Номинал";

                analyzTable.Rows[1].Range.Bold = 1;
                analyzTable.Rows[1].Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;

                var pSC = db.SkidCards.ToList();

                for (int i = 0; i < pSC.Count(); i++)
                {
                    var currentSC = pSC[i];

                    cellRange      = analyzTable.Cell(i + 2, 1).Range;
                    cellRange.Text = currentSC.idCard.ToString();

                    cellRange      = analyzTable.Cell(i + 2, 2).Range;
                    cellRange.Text = currentSC.Surname.ToString() + " " + currentSC.Name.ToString() + " " + currentSC.Patronymic.ToString();

                    cellRange      = analyzTable.Cell(i + 2, 3).Range;
                    cellRange.Text = currentSC.Nominal.ToString();
                }

                Word.Paragraph itogAnalyz = doc.Paragraphs.Add();
                Word.Range     itogRange  = itogAnalyz.Range;

                itogRange.Font.Color = Word.WdColor.wdColorRed;
                itogRange.InsertParagraphAfter();

                app.Visible = true;
            }
        }
Example #7
0
        public static string AbstractToWord(Abstract abs)
        {
            object missing = System.Reflection.Missing.Value;
            int    rowsCount;
            int    colsCount;
            var    filePath = "---";

            try
            {
                filePath = DefaultManager.Instance.AbstractFilePath;

                var filename = "Тезисы_" + abs.SourceId.ToString() + "_" + DateTime.Now.ToShortDateString() + ".docx";

                var objWord = CreateWordObj();

                var doc = objWord.Documents.Add();
                doc.PageSetup.Orientation = Word.WdOrientation.wdOrientPortrait;

                Word.Paragraph paragraphBefore = doc.Paragraphs[1];
                Word.Range     rngBefore1      = paragraphBefore.Range;


                /*======================================================================*/
                /* How to insert <Current Page> of <Total Pages> into the footer for a MS Word Document in VSTO*/

                // Open up the footer in the word document

                objWord.ActiveWindow.ActivePane.View.SeekView = Word.WdSeekView.wdSeekCurrentPageFooter;


                // Set current Paragraph Alignment to Center
                objWord.ActiveWindow.ActivePane.Selection.Paragraphs.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;

                // Type in 'Page '
                objWord.ActiveWindow.Selection.TypeText("Страница ");

                // Add in current page field
                Object CurrentPage = Word.WdFieldType.wdFieldPage;
                objWord.ActiveWindow.Selection.Fields.Add(objWord.ActiveWindow.Selection.Range, ref CurrentPage, ref missing, ref missing);

                // Type in ' of '
                objWord.ActiveWindow.Selection.TypeText(" из ");

                // Add in total page field
                Object TotalPages = Word.WdFieldType.wdFieldNumPages;
                objWord.ActiveWindow.Selection.Fields.Add(objWord.ActiveWindow.Selection.Range, ref TotalPages, ref missing, ref missing);
                /*======================================================================*/

                //Add header
                foreach (Word.Section section in doc.Sections)
                {
                    //Get the header range and add the header details.
                    Word.Range headerRange = section.Headers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;
                    headerRange.Fields.Add(headerRange, Word.WdFieldType.wdFieldPage);
                    headerRange.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
                    headerRange.Font.ColorIndex           = Word.WdColorIndex.wdGray50;
                    headerRange.Font.Size = 10;
                    headerRange.Text      = DefaultManager.Instance.DefaultConference.Name + "\r\n" + DateTime.Now;
                }

                object styleHeading1 = Word.WdBuiltinStyle.wdStyleHeading1;
                object styleHeading2 = Word.WdBuiltinStyle.wdStyleHeading2;
                object styleNormal   = Word.WdBuiltinStyle.wdStyleNormal;

                //Add paragraph with Heading 1 style
                Word.Paragraph para1 = doc.Content.Paragraphs.Add();

                para1.Range.set_Style(ref styleHeading1);
                para1.Range.Text = "Тезис " + abs.SourceId;
                para1.Range.InsertParagraphAfter();


                Word.Paragraph para2 = doc.Content.Paragraphs.Add();
                para2.Range.set_Style(ref styleHeading2);
                para2.set_Style(ref styleHeading2);
                para2.Range.Text = "Автор";
                para2.Range.InsertParagraphAfter();

                Word.Paragraph para3 = doc.Content.Paragraphs.Add();
                para3.Range.set_Style(ref styleNormal);
                para3.Range.Text = abs.Author.FullName;
                para3.Range.InsertParagraphAfter();

                Word.Paragraph para4 = doc.Content.Paragraphs.Add();
                para4.Range.set_Style(ref styleHeading2);
                para4.set_Style(ref styleHeading2);
                para4.Range.Text = "Место работы автора";
                para4.Range.InsertParagraphAfter();

                Word.Paragraph para5 = doc.Content.Paragraphs.Add();
                para5.Range.set_Style(ref styleNormal);
                para5.Range.Text = abs.Author.WorkPlace;
                para5.Range.InsertParagraphAfter();

                Word.Paragraph para6 = doc.Content.Paragraphs.Add();
                para6.Range.set_Style(ref styleHeading2);
                para6.set_Style(ref styleHeading2);
                para6.Range.Text = "Соавторы";
                para6.Range.InsertParagraphAfter();

                Word.Paragraph para7 = doc.Content.Paragraphs.Add();
                para7.Range.set_Style(ref styleNormal);
                para7.Range.Text = abs.OtherAuthors;
                para7.Range.InsertParagraphAfter();

                Word.Paragraph para8 = doc.Content.Paragraphs.Add();
                para8.Range.set_Style(ref styleHeading2);
                para8.set_Style(ref styleHeading2);
                para8.Range.Text = "Название";
                para8.Range.InsertParagraphAfter();

                Word.Paragraph para9 = doc.Content.Paragraphs.Add();
                para9.Range.set_Style(ref styleNormal);
                para9.Range.Text = abs.Name;
                para9.Range.InsertParagraphAfter();

                Word.Paragraph para10 = doc.Content.Paragraphs.Add();
                para10.Range.set_Style(ref styleHeading2);
                para10.set_Style(ref styleHeading2);
                para10.Range.Text = "Текст";
                para10.Range.InsertParagraphAfter();

                Word.Paragraph para11 = doc.Content.Paragraphs.Add();
                para11.Range.set_Style(ref styleNormal);
                para11.Range.Text = abs.Text;
                para11.Range.InsertParagraphAfter();

                //Save the document
                doc.SaveAs(filePath + "\\" + filename);
                doc.Close();
                doc = null;
                objWord.Quit();
                objWord = null;
                obj     = null;
                //        MessageBox.Show("Document created successfully !");


                return(filePath + "\\" + filename);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Data + "\r\n" + ex.Message + "\r\n" + ex.Source + "\r\n" + ex.InnerException + "\r\n" + ex.StackTrace);
                return(null);
            }
            finally
            {
                GC.Collect();
            }
        }