Запись в ячейку текста с разным форматированием

Автор Tillevion, 7 августа 2023, 15:36

0 Пользователи и 1 гость просматривают эту тему.

Tillevion

Подскажите, пожалуйста, как с помощью макроса записать в одну ячейку текст который состоит из строк с разным форматированием? Прикладываю пример.

bigor

Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

sokol92

... или так (метод тот же):

Sub Test
  Dim oCell As Object, oText as Object, oCursor As Object
  oCell=THisComponent.sheets(0).getCellByPosition(0, 0) ' ячейка A1 первого листа
 
  oCell.String="" ' удаляем содержимое ячейки, включая форматирование
  oText=oCell.Text
  oCursor=oText.createTextCursor()
 
  oText.insertString oCursor, "Текст: ", False
  oCursor.CharWeight=com.sun.star.awt.FontWeight.SEMIBOLD
  oText.insertString oCursor, "жирный участок", False
  oCursor.CharWeight=com.sun.star.awt.FontWeight.NORMAL
  oText.insertString oCursor, ", обычный участок", False
End Sub
Владимир.

sokol92

#3
У меня где-то была функция, которая вставляет текст с символами форматирования, применяемыми в колонтитулах страниц Excel. Я еще добавил возможность вставки гиперссылок.

Текст для вставки в примере темы выглядел бы так:
  Text_Insert ThisComponent, ThisComponent.sheets(0).getCellByPosition(0,0), _
              "Текст: &Bжирный участок&B, обычный участок"

Если есть общественный интерес, могу подготовить к публикации.
Владимир.

Tillevion