Exemplo n.º 1
0
        public void InsertTable(int numRows, int numColumns, BorderType border)
        {
            _table = _document.Tables.Add(_currentRange, numRows, numColumns, ref _missingObj, ref _missingObj);

            switch (border)
            {
            case BorderType.None:
                _table.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleNone;
                _table.Borders.InsideLineStyle  = Word.WdLineStyle.wdLineStyleNone;
                break;

            case BorderType.Single:
                _table.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;
                _table.Borders.InsideLineStyle  = Word.WdLineStyle.wdLineStyleSingle;
                break;

            case BorderType.Double:
                _table.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleDouble;
                _table.Borders.InsideLineStyle  = Word.WdLineStyle.wdLineStyleDouble;
                break;

            default:
                _table.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleNone;
                _table.Borders.InsideLineStyle  = Word.WdLineStyle.wdLineStyleNone;
                break;
            }


            _currentRange = _table.Range;
            _selection    = new WordSelection(_currentRange, false);
        }
Exemplo n.º 2
0
        public void SetSelectionToBegin()
        {
            object start = 0;
            object end   = 0;

            this._currentRange = this._document.Range(ref start, ref end);
            _selection         = new WordSelection(_currentRange);
        }
Exemplo n.º 3
0
        public void SetSelectionToCell(int rowIndex, int columnIndex)
        {
            if (_table == null)
            {
                throw new Exception("Ошибка при выборе ячейки в таблице Word, не выбрана текущая таблица.");
            }

            _currentRange = _table.Cell(rowIndex, columnIndex).Range;
            _selection    = new WordSelection(_currentRange, false);
        }
Exemplo n.º 4
0
 //выбор текста в документе для свойства selectedText ИЩЕТ ВХОЖДЕНИЕ ПО НОМЕРУ
 public void SetSelectionToText(string stringToFind, int number)
 {
     Word.Range foundRange = findRangeByStringByNumber(stringToFind, number);
     if (foundRange == null)
     {
         throw new Exception("Не удалость найти строку под номером " + number.ToString() + ". Не удалось найти и выбрать заданный текст: " + stringToFind);
     }
     _currentRange = foundRange;
     _selection    = new WordSelection(foundRange, false);
 }
Exemplo n.º 5
0
 // выбор текста в документе для свойства selectedText ИЩЕТ ПЕРВОЕ ВХОЖДЕНИЕ
 public void SetSelectionToText(string stringToFind)
 {
     Word.Range foundRange = findRangeByString(stringToFind);
     if (foundRange == null)
     {
         throw new Exception("Ошибка при поиске текста в MS Word. Не удалось найти и выбрать заданный текст: " + stringToFind);
     }
     _currentRange = foundRange;
     _selection    = new WordSelection(foundRange, false);
 }
Exemplo n.º 6
0
 // ВЫБИРАЕМ ТАБЛИЦУ ПО ПОРЯДКОВОМ НОМЕРУ НАЧИНАЯ С ЕДИНИЦЫ
 public void SelectTable(int tableNumber)
 {
     try
     {
         _table = _document.Tables[tableNumber];
     }
     catch (Exception error)
     {
         throw new Exception("Таблица с номером " + tableNumber + " не найдена в документе Word. Подробности: " + error.Message);
     }
     _currentRange = _table.Range;
     _selection    = new WordSelection(_table.Range, true, false);
 }
Exemplo n.º 7
0
        // ВСТАВЛЯЕМ ПУСТУЮ СТРАНИЦУ С ОДНИМ ПАРАГРАФОМ В КОНЦЕ, тупо добавляем пустые абзацы до появления следующей страницы
        public void InsertPageAtEnd()
        {
            object missing = Missing.Value;
            object what    = Word.WdGoToItem.wdGoToLine;
            object which   = Word.WdGoToDirection.wdGoToLast;

            Word.Range endRange = _document.GoTo(ref what, ref which, ref missing, ref missing);
            _currentRange = endRange;
            _selection    = new WordSelection(endRange);

            // пока не изменится количество страниц вставляем пустые абзацы в конце
            int oldPagesCount = PagesCount;

            while (oldPagesCount == PagesCount)
            {
                InsertParagraphAfter();
            }
            InsertParagraphAfter();
        }
Exemplo n.º 8
0
        // вставляем пустой абзац, доступ к его тексту и свойствам через
        public void InsertParagraphAfter()
        {
            if (Closed)
            {
                throw new Exception("Ошибка при обращении к документу Word. Документ уже закрыт.");
            }
            // сворачиваем текущую позицию и переходим в ее конец
            Object collapseDirection = Word.WdCollapseDirection.wdCollapseEnd;

            try
            {
                _currentRange.Collapse(ref collapseDirection);
                //вставляем абзац
                _currentRange.InsertParagraphAfter();
                _selection = new WordSelection(_currentRange);
            }
            catch (Exception wordError)
            {
                throw wordError;
            }
        }
Exemplo n.º 9
0
        // встаем на закладку, то есть получаем обьект Range по имени закладки и заноми его в переменужж экземпляра класса, доступную для других методов
        public void SetSelectionToBookmark(string bookmarkName, bool isParagraph)
        {
            if (Closed)
            {
                throw new Exception("Ошибка при обращении к документу Word. Документ уже закрыт.");
            }

            Object bookmarkNameObj = bookmarkName;

            Word.Range bookmarkRange = null;
            try
            {
                bookmarkRange = _document.Bookmarks.get_Item(ref bookmarkNameObj).Range;
            }
            catch (Exception error)
            {
                throw new Exception("Ошибка при поиске закладки " + bookmarkName + " в документе Word. Сообщение от Word: " + error.Message);
            }
            _currentRange = bookmarkRange;
            _selection    = new WordSelection(_currentRange, isParagraph);
        }
Exemplo n.º 10
0
        // поиск и выбор текста в документе Word внутри строки-контейнера, сначала ищется контейнер, потом текст внутри него
        public void SetSelectionToText(string containerStr, string stringToFind)
        {
            Word.Range containerRange = null;
            Word.Range foundRange     = null;

            containerRange = findRangeByString(containerStr);
            if (containerRange != null)
            {
                foundRange = findRangeByString(containerRange, stringToFind);
            }

            if (foundRange != null)
            {
                _currentRange = foundRange;
                _selection    = new WordSelection(foundRange, false);
            }
            else
            {
                throw new Exception("Ошибка при поиске текста в MS Word. Не удалось найти заданную область для поиска текста: " + containerStr);
            }
            // завершение public void searchSelectText(string containerStr, string stringToFind)
        }