Описание некоторых функций для работы с текстом:
getCurrentController()
Метод интерфейса XModel
Предоставляет доступ к контроллеру, который в данный момент управляет
этой моделью. Если активный контроллер является контроллером этой
модели, он будет возвращен. Если нет, возвращается последний активный
контроллер этой модели. Если ни один контроллер этой модели никогда не
был активен, возвращается первый зарегистрированный контроллер. Если для
этой модели не зарегистрирован контроллер, возвращается NULL.
createTextCursorByRange(TextPosition)
Метод интерфейса XSimpleText
Начальная позиция устанавливается в TextPosition.
Создает новый экземпляра курсора, расположенного в указанном текстовом диапазоне, для перемещения в данном текстовом контексте
isStartOfWord()
Метод интерфейса XWordCursor
Определяет, стоит ли курсор в начале слова.
isEndOfWord()
Метод интерфейса XWordCursor
Определяет, стоит ли курсор в конце слова.
gotoStartOfWord()
Метод интерфейса XWordCursor
Перемещает курсор в начало текущего слова.
Возвращает TRUE, если курсор находится в начале слова, в противном
случае FALSE . Если было возвращено FALSE, курсор останется в исходной
позиции.
gotoNextWord()
Метод интерфейса XWordCursor
Перемещает курсор к следующему слову.
Примечание: функция, возвращающая TRUE, не обязательно
означает, что курсор находится на следующем слове или вообще на любом
слове! Это может произойти, например, если он перемещается по пустым
абзацам.
Возвращает TRUE, если курсор был перемещен. Возвращает FALSE, если
курсор не может двигаться дальше.
gotoEndOfWord()
Метод интерфейса XWordCursor
Перемещает курсор в конец текущего слова.
Возвращает TRUE, если курсор находится в конце слова, иначе FALSE. Если
было возвращено FALSE, курсор останется в исходной позиции.
Примеры:
Добавление текста:
oDoc = XSCRIPTCONTEXT.getDocument();
xTextDoc = UnoRuntime.queryInterface(XTextDocument,oDoc);
xText = xTextDoc.getText();
xTextRange = xText.getEnd();
xTextRange.setString("Hello World (in JavaScript/Atext)");
Изменение размера шрифта:
oDoc = XSCRIPTCONTEXT.getDocument()
xTextDoc = UnoRuntime.queryInterface(XTextDocument,oDoc)
xText = xTextDoc.getText()
xTextRange = xText.getEnd()
pv = UnoRuntime.queryInterface(XPropertySet, xTextRange)
pv.setPropertyValue("CharHeight", 32.0)
xTextRange.setString("Hello World (in JavaScript/Atext)")
Изменение цвета (background):
oDoc = XSCRIPTCONTEXT.getDocument()
xTextDoc = UnoRuntime.queryInterface(XTextDocument,oDoc)
xText = xTextDoc.getText()
xTextRange = xText.getEnd()
pv = UnoRuntime.queryInterface(XPropertySet, xTextRange)
pv.setPropertyValue("CharBackColor", new java.lang.Integer(1234567))
pv.setPropertyValue("CharUnderline",
new java.lang.Short(Packages.com.sun.star.awt.FontUnderline.WAVE))
pv.setPropertyValue("CharPosture", Packages.com.sun.star.awt.FontSlant.ITALIC)
xTextRange.setString("Hello World (in JavaScript/Atext)")
Замена букв/слов:
oDoc = XSCRIPTCONTEXT.getDocument();
xTextDoc = UnoRuntime.queryInterface(XTextDocument, oDoc);
xText = xTextDoc.getText();
xTextRange_0 = xText.getEnd();
xTextRange_1 = xText.getEnd();
jString_0 = "Hello World (in JavaScript/Atext)\n";
xTextRange_0.setString(jString_0);
jString_1 = jString_0.replace("World", "Mike");
xTextRange_1.setString(jString_1);
Вложения:
Вложения содержат архивы (*.tar) в которых находятся полный код макросов.
Добавление текста - hello_world_atext.tar
Изменение размера шрифта - font_size_change_atext
Изменение цвета (background) - color_change_atext.tar
Замена букв/слов - replace_atext.tar