public void AddSpan(string condicao)
 {
     //add o span na selecao
     Range.InsertBefore("[");
     Range.InsertAfter("]");
     Range.Select();
     Range.Application.Selection.Font.Color = Word.WdColor.wdColorRed;
     Range.Start = Range.Start + 1;
     Range.Select();
     Range.InsertBefore(condicao);
     Range.End = Range.Start + condicao.Length;
     Range.Select();
     Range.Application.Selection.Font.Subscript = -1;
 }
        //Metodo generico para adicionar repetir
        public void AddRepetir(string numContato)
        {
            Word.Range RangeRepetir = Range;

            string repetir = string.Format("repetir 1 até {0} pontuacao \"; |; e |.\"", numContato);

            RangeRepetir.InsertBefore("[");
            RangeRepetir.InsertAfter("{sinal}]");
            RangeRepetir.Select();
            RangeRepetir.Start = RangeRepetir.Start + 1;
            RangeRepetir.Select();
            RangeRepetir.InsertBefore(repetir);
            RangeRepetir.End = RangeRepetir.Start + repetir.Length;
            RangeRepetir.Select();
            RangeRepetir.Application.Selection.Font.Subscript = -1;
        }
        public void CreateSpecialInstructions(string txt, Word.Document wordDoc)
        {
            object endOfDoc = "\\endofdoc";

            Word.Range range = wordDoc.Bookmarks.get_Item(ref endOfDoc).Range;

            range.InsertBefore(txt);
        }
Beispiel #4
0
        //</Snippet82>


        //---------------------------------------------------------------------
        //<Snippet89>
        private void CreateDocumentPropertyTable()
        {
            //<Snippet90>
            object start = 0, end = 0;

            Word.Document document = this.Application.ActiveDocument;
            Word.Range    rng      = document.Range(ref start, ref end);
            //</Snippet90>

            // Insert a title for the table and paragraph marks.
            //<Snippet91>
            rng.InsertBefore("Document Statistics");
            rng.Font.Name = "Verdana";
            rng.Font.Size = 16;
            rng.InsertParagraphAfter();
            rng.InsertParagraphAfter();
            rng.SetRange(rng.End, rng.End);
            //</Snippet91>

            // Add the table.
            //<Snippet92>
            rng.Tables.Add(document.Paragraphs[2].Range, 3, 2, ref missing, ref missing);
            //</Snippet92>

            // Format the table and apply a style.
            //<Snippet93>
            Word.Table tbl = document.Tables[1];
            tbl.Range.Font.Size = 12;
            tbl.Columns.DistributeWidth();

            object styleName = "Table Professional";

            tbl.set_Style(ref styleName);
            //</Snippet93>

            // Insert document properties into cells.
            //<Snippet94>
            tbl.Cell(1, 1).Range.Text = "Document Property";
            tbl.Cell(1, 2).Range.Text = "Value";

            tbl.Cell(2, 1).Range.Text = "Subject";
            tbl.Cell(2, 2).Range.Text = ((Office.DocumentProperties)(document.BuiltInDocumentProperties))
                                        [Word.WdBuiltInProperty.wdPropertySubject].Value.ToString();

            tbl.Cell(3, 1).Range.Text = "Author";
            tbl.Cell(3, 2).Range.Text = ((Office.DocumentProperties)(document.BuiltInDocumentProperties))
                                        [Word.WdBuiltInProperty.wdPropertyAuthor].Value.ToString();
            //</Snippet94>
        }
Beispiel #5
0
        private void ApplyNewIndentation(List <Word.Paragraph> pars, int[] indent)
        {
            int i = 0;

            foreach (Word.Paragraph par in pars)
            {
                if (indent[i] > 0)
                {
                    string     insert = new String(IndentUnit, indentRepeat * indent[i]);
                    Word.Range range  = par.Range;
                    range.InsertBefore(insert);
                }
                i++;
            }
        }
        public void AdicionarSpan()
        {
            range.SetRange(Globals.ThisAddIn.Application.Selection.Start, Globals.ThisAddIn.Application.Selection.End);
            string spanContent = range.Text;

            range.Text = textoCampo;

            range.InsertBefore("[");
            range.InsertAfter("]");

            range.SetRange(range.Start + 1, range.End - 1);
            range.Select();
            range.Font.Subscript = 1;
            range.SetRange(range.End, range.End);
            range.Text = spanContent;
            range.Select();
            range.Font.Subscript = 0;
        }
        /// <summary>
        /// Insert download links into a Word message body
        /// </summary>
        /// <param name="transferPackage"></param>
        private void InsertLinksIntoWordBody(string insString)
        {
            //See: http://msdn2.microsoft.com/en-us/library/bb386277.aspx (text)
            //See: http://msdn2.microsoft.com/en-us/library/bb157878.aspx (tables)
            //and for an introduction see also...
            //See: http://msdn2.microsoft.com/en-us/library/aa201330(office.11).aspx
            //See: http://msdn2.microsoft.com/en-us/library/aa201332(office.11).aspx
            //See: http://msdn2.microsoft.com/en-us/library/bb407305(VS.80).aspx
            //See: http://support.microsoft.com/kb/316384

            object objMissing    = System.Reflection.Missing.Value;
            object objTrue       = true;
            object objFalse      = false;
            object objStartOfDoc = "\\startofdoc"; /* \startofdoc is a predefined bookmark */
            object objEndOfDoc   = "\\endofdoc";   /* \endofdoc is a predefined bookmark */
            //object objParagraphUnit = Word.WdUnits.wdParagraph;
            //object objCountOne = 1;
            object objStart = 0;
            object objEnd   = 0;

            System.Diagnostics.Debug.Assert(this.Inspector.EditorType == Outlook.OlEditorType.olEditorWord);

            Word.Document objDocument = this.Inspector.WordEditor as Word.Document;
            if (objDocument == null)
            {
                return; //Not much we can do in this case
            }
#if !DEBUG
            //Improve performances
            objDocument.Application.Options.Pagination = false;
            objDocument.Application.ScreenUpdating     = false;
#endif


            #region Insert advertisement at the beginning of the document.
            //Add a paragraph before creating the table
            Word.Range objTopOfMessageRange = objDocument.Bookmarks.get_Item(ref objStartOfDoc).Range;
            System.Diagnostics.Debug.Assert(objTopOfMessageRange.Text == null);

            objTopOfMessageRange.InsertBefore(insString);

            #endregion
        }
Beispiel #8
0
        public void Otchet_To_Word(DataGridView dataGridViewMain, string filename)// Метод экспорта в Word
        {
            Word.Document oDoc = new Word.Document();
            oDoc.Application.Visible = true;
            //ориентация страницы
            oDoc.PageSetup.Orientation = Word.WdOrientation.wdOrientPortrait;
            // Стиль текста.
            object start = 0, end = 0;

            Word.Range rng = oDoc.Range(ref start, ref end);
            rng.InsertBefore("Отчет");//Заголовок
            rng.Font.Name = "Times New Roman";
            rng.Font.Size = 12;
            rng.InsertParagraphAfter();
            rng.InsertParagraphAfter();
            rng.SetRange(rng.End, rng.End);
            oDoc.Content.ParagraphFormat.LeftIndent = oDoc.Content.Application.CentimetersToPoints(0); // отступ слева
            oDoc.Paragraphs.Format.FirstLineIndent  = 0;                                               //Отступ первой строки
            oDoc.Paragraphs.Format.LineSpacing      = 8;                                               //межстрочный интервал в первом абзаце.(высота строк)
            oDoc.Paragraphs.Format.SpaceBefore      = 3;                                               //межстрочный интервал перед первым абзацем.
            oDoc.Paragraphs.Format.SpaceAfter       = 1;                                               //межстрочный интервал после первого абзаца.

            if (dataGridViewMain.Rows.Count != 0)
            {
                //удаление столбца
                //this.dataGridView1.Columns.RemoveAt(4);//дата записи

                string   kol_vo      = Convert.ToString(textBoxAmount.Text); //кол-во
                string   sum         = Convert.ToString(textBoxSumm.Text);   //сумма
                DateTime month       = Convert.ToDateTime(dataGridViewMain.Rows[0].Cells[4].Value);
                int      RowCount    = dataGridViewMain.Rows.Count;
                int      ColumnCount = dataGridViewMain.Columns.Count - 1;// столбцы в гриде (-5 последних)
                Object[,] DataArray = new object[RowCount + 1, ColumnCount + 1];
                // добавить строки
                int r = 0;
                for (int c = 0; c <= ColumnCount - 1; c++)
                {
                    for (r = 0; r <= RowCount - 1; r++)
                    {
                        DataArray[r + 1, c] = dataGridViewMain.Rows[r].Cells[c].Value;// +1 это первая строка в таблице над заголовком
                    } //Конец цикла строки
                } //конец петли колонки
                  //Добавление текста в документ

                oDoc.Content.SetRange(0, 0);// для текстовых строк
                oDoc.Content.Text = "                                                                                   Кол-во: " + kol_vo + "     Сумма: " + sum +
                                    Environment.NewLine +
                                    Environment.NewLine +
                                    Environment.NewLine +
                                    Environment.NewLine +
                                    Environment.NewLine +
                                    Environment.NewLine +
                                    Environment.NewLine +
                                    Environment.NewLine + "Начальник транспортного отдела " +
                                    Environment.NewLine +
                                    Environment.NewLine + "______________________________" +
                                    Environment.NewLine;

                dynamic oRange = oDoc.Content.Application.Selection.Range;
                string  oTemp  = "";
                for (r = 0; r <= RowCount - 1; r++)
                {
                    for (int c = 0; c <= ColumnCount - 1; c++)
                    {
                        oTemp = oTemp + DataArray[r, c] + "\t";
                    }
                }
                //формат таблицы
                oRange.Text = oTemp;
                object Separator       = Word.WdTableFieldSeparator.wdSeparateByTabs;
                object ApplyBorders    = true;
                object AutoFit         = true;
                object AutoFitBehavior = Word.WdAutoFitBehavior.wdAutoFitContent;

                oRange.ConvertToTable(ref Separator, ref RowCount, ref ColumnCount,
                                      Type.Missing, Type.Missing, ref ApplyBorders,
                                      Type.Missing, Type.Missing, Type.Missing,
                                      Type.Missing, Type.Missing, Type.Missing,
                                      Type.Missing, ref AutoFit, ref AutoFitBehavior, Type.Missing);

                oRange.Select();
                oDoc.Application.Selection.Tables[1].Select();
                oDoc.Application.Selection.Tables[1].Rows.AllowBreakAcrossPages = 0;
                oDoc.Application.Selection.Tables[1].Rows.Alignment             = 0;
                oDoc.Application.Selection.Tables[1].Rows[1].Select();
                oDoc.Application.Selection.InsertRowsAbove(1);
                oDoc.Application.Selection.Tables[1].Rows[1].Select();
                //стиль строки заголовка
                oDoc.Application.Selection.Tables[1].Rows[1].Range.Bold      = 1;
                oDoc.Application.Selection.Tables[1].Rows[2].Range.Bold      = 1;
                oDoc.Application.Selection.Tables[1].Rows[1].Range.Font.Name = "Times New Roman";
                oDoc.Application.Selection.Tables[1].Rows[1].Range.Font.Size = 9;
                //добавить строку заголовка вручную
                for (int c = 0; c <= ColumnCount - 1; c++)
                {
                    oDoc.Application.Selection.Tables[1].Cell(1, c + 1).Range.Text = "";
                    oDoc.Application.Selection.Tables[1].Cell(2, c + 1).Range.Text = dataGridViewMain.Columns[c].HeaderText;
                }
                //стиль таблицы
                oDoc.Application.Selection.Tables[1].Columns[3].Delete();                                                                //Удалить столбец
                oDoc.Application.Selection.Tables[1].Columns[3].Delete();                                                                //Удалить столбец
                oDoc.Application.Selection.Tables[1].Columns[4].Delete();                                                                //Удалить столбец

                oDoc.Application.Selection.Tables[1].Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter; //Выравнивание текста в таблице по центру
                oDoc.Application.Selection.Tables[1].Rows.Borders.Enable             = 1;                                                //borders
                oDoc.Application.Selection.Tables[1].Rows[1].Select();
                oDoc.Application.Selection.Cells.VerticalAlignment    = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                oDoc.Application.Selection.Tables[1].Columns[1].Width = 120; //ширина столбца
                oDoc.Application.Selection.Tables[1].Columns[2].Width = 120; //ширина столбца
                oDoc.Application.Selection.Tables[1].Columns[3].Width = 80;  //ширина столбца
                oDoc.Application.Selection.Tables[1].Columns[4].Width = 80;  //ширина столбца
                oDoc.Application.Selection.Tables[1].Columns[5].Width = 120; //ширина столбца
                //oDoc.Application.Selection.Tables[1].Columns[6].Width = 60;//ширина столбца
                //oDoc.Application.Selection.Tables[1].Columns[7].Width = 80;//ширина столбца
                oDoc.Application.Selection.Tables[1].LeftPadding     = 1;   //отступ с лева полей ячеек
                oDoc.Application.Selection.Tables[1].RightPadding    = 1;   //отступ с права полей ячеек
                oDoc.Application.Selection.Tables[1].Rows.LeftIndent = -30; //Установка отступа слева
                //oDoc.Application.Selection.Tables[1].Cell(1, 2).Range.Text = "текст в ячейке";
                //oDoc.Application.Selection.Tables[1].Cell(1, 2).Merge(oDoc.Application.Selection.Tables[1].Cell(1, 4));//Объединение
                //текст заголовка
                foreach (Word.Section section in oDoc.Application.ActiveDocument.Sections)
                {
                    // Верхний колонтитул
                    DateTime   Now         = DateTime.Now;
                    Word.Range headerRange = section.Headers[Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage].Range;
                    headerRange.Fields.Add(headerRange, Word.WdFieldType.wdFieldPage);
                    section.PageSetup.DifferentFirstPageHeaderFooter = -1;//Включить особый колонтитул
                    headerRange.Text =
                        Environment.NewLine +
                        Environment.NewLine +
                        Environment.NewLine +
                        Environment.NewLine +
                        Environment.NewLine + "Сводный отчет" +
                        Environment.NewLine + "по ремонту и обслуживанию автомобилей" +
                        Environment.NewLine + "ГП Службы специальной связи" +
                        Environment.NewLine + "с " + Convert.ToString(dateTimePickerStart.Value.ToString("dd.MM.yyyy")) + " по " + Convert.ToString(dateTimePickerEnd.Value.ToString("dd.MM.yyyy")) +
                        Environment.NewLine;

                    headerRange.Font.Size = 14;
                    headerRange.Font.Name = "Times New Roman";
                    headerRange.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
                    // Нижний колонтитул
                    Word.Range footerRange = section.Footers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;
                    footerRange.Fields.Add(footerRange, Word.WdFieldType.wdFieldPage);
                    footerRange.Text      = "Служба специальной связи       " + Convert.ToString(Now.ToString("dd.MM.yyyy"));
                    footerRange.Font.Size = 9;
                    footerRange.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;
                }
                //сохранить файл
                oDoc.SaveAs(filename);
            }
        }
Beispiel #9
0
        public void Export_Data_To_Word2(DataGridView dataGridView2, string filename)//Обработчик Word МБП
        {
            Word.Document oDoc = new Word.Document();
            oDoc.Application.Visible = true;
            //ориентация страницы
            oDoc.PageSetup.Orientation = Word.WdOrientation.wdOrientLandscape;
            // Стиль текста.
            object start = 0, end = 0;

            Word.Range rng = oDoc.Range(ref start, ref end);

            rng.InsertBefore("Заголовок");//Заголовок
            rng.Font.Name = "Times New Roman";
            rng.Font.Size = 9;
            rng.InsertParagraphAfter();
            rng.InsertParagraphAfter();
            rng.SetRange(rng.End, rng.End);
            oDoc.Content.ParagraphFormat.LeftIndent = oDoc.Content.Application.CentimetersToPoints(0);  // отступ слева

            if (dataGridView2.Rows.Count != 0)
            {
                int RowCount    = dataGridView2.Rows.Count;
                int ColumnCount = dataGridView2.Columns.Count;
                Object[,] DataArray = new object[RowCount + 1, ColumnCount + 1];
                // добавить строки
                int r = 0;
                for (int c = 0; c <= ColumnCount - 1; c++)
                {
                    for (r = 0; r <= RowCount - 1; r++)
                    {
                        DataArray[r, c] = dataGridView2.Rows[r].Cells[c].Value;
                    } //Конец цикла строки
                }     //конец петли колонки
                //Добавление текста в документ
                string saldo_nachalo = Convert.ToString(textBox8.Text);//Сальдо начало
                string saldo_konec   = Convert.ToString(textBox9.Text);//Сальдо конец
                oDoc.Content.SetRange(0, 0);
                oDoc.Content.Text = "Сальдо на начало:   " + saldo_nachalo + "           Сальдо на конец:   " + saldo_konec + Environment.NewLine +
                                    Environment.NewLine + "Выполнил__________________" + "              " + "Принял_____________________" + Environment.NewLine;

                dynamic oRange = oDoc.Content.Application.Selection.Range;
                string  oTemp  = "";
                for (r = 0; r <= RowCount - 1; r++)
                {
                    for (int c = 0; c <= ColumnCount - 1; c++)
                    {
                        oTemp = oTemp + DataArray[r, c] + "\t";
                    }
                }
                //формат таблицы
                oRange.Text = oTemp;
                object Separator       = Word.WdTableFieldSeparator.wdSeparateByTabs;
                object ApplyBorders    = true;
                object AutoFit         = true;
                object AutoFitBehavior = Word.WdAutoFitBehavior.wdAutoFitContent;

                oRange.ConvertToTable(ref Separator, ref RowCount, ref ColumnCount,
                                      Type.Missing, Type.Missing, ref ApplyBorders,
                                      Type.Missing, Type.Missing, Type.Missing,
                                      Type.Missing, Type.Missing, Type.Missing,
                                      Type.Missing, ref AutoFit, ref AutoFitBehavior, Type.Missing);

                oRange.Select();
                oDoc.Application.Selection.Tables[1].Select();
                oDoc.Application.Selection.Tables[1].Rows.AllowBreakAcrossPages = 0;
                oDoc.Application.Selection.Tables[1].Rows.Alignment             = 0;
                oDoc.Application.Selection.Tables[1].Rows[1].Select();
                oDoc.Application.Selection.InsertRowsAbove(1);
                oDoc.Application.Selection.Tables[1].Rows[1].Select();
                //заголовка стиль строки
                oDoc.Application.Selection.Tables[1].Rows[1].Range.Bold      = 1;
                oDoc.Application.Selection.Tables[1].Rows[1].Range.Font.Name = "Times New Roman";
                oDoc.Application.Selection.Tables[1].Rows[1].Range.Font.Size = 9;
                //добавить строку заголовка вручную
                for (int c = 0; c <= ColumnCount - 1; c++)
                {
                    oDoc.Application.Selection.Tables[1].Cell(1, c + 1).Range.Text = dataGridView2.Columns[c].HeaderText;
                }
                //стиль таблицы
                oDoc.Application.Selection.Tables[1].Rows.Borders.Enable = 1;//borders
                oDoc.Application.Selection.Tables[1].Rows[1].Select();
                oDoc.Application.Selection.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                //текст заголовка
                foreach (Word.Section section in oDoc.Application.ActiveDocument.Sections)
                {//Верхний колонтитул
                    DateTime   Now         = DateTime.Now;
                    Word.Range headerRange = section.Headers[Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage].Range;
                    headerRange.Fields.Add(headerRange, Word.WdFieldType.wdFieldPage);
                    section.PageSetup.DifferentFirstPageHeaderFooter = -1;//Включить особый колонтитул
                    headerRange.Text      = "Отчет №_";
                    headerRange.Font.Size = 12;
                    headerRange.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
                    //Нижний колонтитул
                    Word.Range footerRange = section.Footers[Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage].Range;
                    footerRange.Fields.Add(footerRange, Word.WdFieldType.wdFieldPage);
                    footerRange.Text      = "ГП Служба специальной связи      " + Convert.ToString(Now.ToString("dd:MM:yyyy"));
                    footerRange.Font.Size = 9;
                    footerRange.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;
                }
                //сохранить файл
                oDoc.SaveAs(filename);
            }
        }