Skip to main content

Метод Position.getPreviousRange

Метод возвращает диапазон, который расположен перед текущим диапазоном. Размеры текущего и предыдущего диапазонов зависят от выбранной единицы текста. Если выбранная единица текста отлична от Paragraph, то работа метода Position.getPreviousRange ограничена текущим абзацем.

Вызов​


public Range getPreviousRange(TextUnit textUnit)

Параметры​

  • textUnit: единица текста, определяющая размеры диапазонов, тип TextUnit.

Возвращает​

  • предыдущий диапазон документа, тип Range.

Пример для текстового документа​


Position sentenceBegin = document.getRange().getBegin().getNextRange(TextUnit.Sentence).getBegin();
Range previousSentence = sentenceBegin.getPreviousRange(TextUnit.Sentence);
Range previousWord = sentenceBegin.getPreviousRange(TextUnit.Word);
while (previousWord.getContentEnd().compare(previousWord.getBegin()) == 1)
{
previousWord = previousWord.getBegin().getPreviousRange(TextUnit.Word);
}
Range previousCharacter = sentenceBegin.getPreviousRange(TextUnit.Character);
previousCharacter = previousCharacter.getBegin().getPreviousRange(TextUnit.Character);
previousCharacter = previousCharacter.getBegin().getPreviousRange(TextUnit.Character);

Console.WriteLine(previousSentence.extractText());
// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Console.WriteLine(previousWord.extractText()); // aliqua
Console.WriteLine(previousCharacter.extractText()); // a

Пример для табличного документа​


Table sheet = document.getBlocks().getTable(0);
Cell cell = sheet.getCell("B2");
Position cellEnd = cell.getRange().getContentEnd();
Range sentence = cellEnd.getPreviousRange(TextUnit.Sentence);

Console.WriteLine(sentence.extractText()); // Second sentence.