Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

3 Июль 2020, 13:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Программировать Фигуры?  (Прочитано 441 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Tigrik
Форумчанин
***
Offline Offline

Сообщений: 94


« Стартовое сообщение: 4 Февраль 2020, 22:41 »

Здравствуйте!

LibreOffice Calc (Версия: 6.4.0.3 (x64)), OS-Xp7.

Пытаюсь найти возможность менять любые параметры (размеры, положение, цвет и т.д.) любых фигур (треугольники, окружности и другие) через значения на листе.
Если есть такая возможность (т.е. не используя макрос), то набор этих фигур, скорее всего, будет одинаковый (несколько треугольников, окружностей, пара квадратов) и они уже будут рядом на одном листе.
На листе будет меняться одно значение, по которому в другие ячейки будут записываться, рассчитанные по формулам, значения. Вот эти значения и хотелось бы присваивать параметрам (атрибутам, или как это называется правильно?) фигур.

Можно ли, в уже нарисованные фигуры, занести необходимые формулы (или хотя бы ссылку на необходимую ячейку со значением) в поля параметров фигур? Не нашел, как это можно сделать!

Возможно, это удобнее сделать через макросы (или только через макросы?), но я только начал осваивать макросы в ЛО Калк и, пока, совсем не разобрался.

Решил записать макрос, но получился непонятный макрос, который ничего не делает (или, иногда, что-то делает, но не совсем то, что нужно). Небольшие изменения, убрал комменты и получился такой код:

Код:
sub Macros_Proba_Triangle_01
dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(7) as new com.sun.star.beans.PropertyValue
args1(0).Name = "BasicShapes"
args1(0).Value = "isosceles-triangle"
args1(1).Name = "TransformPosX"
args1(1).Value = 10000
args1(2).Name = "TransformPosY"
args1(2).Value = 5000
args1(3).Name = "TransformWidth"
args1(3).Value = 12200
args1(4).Name = "TransformHeight"
args1(4).Value = 7000
args1(5).Name = "TransformRotationAngle"
args1(5).Value = 18000
args1(6).Name = "TransformRotationX"
args1(6).Value = 19737
args1(7).Name = "TransformRotationY"
args1(7).Value = 8843
dispatcher.executeDispatch(document, ".uno:BasicShapes", "", 0, args1())
end sub

Что нужно изменить в коде, что бы нарисовать, допустим, равнобедренный треугольник (будут задаваться: размеры, положение и, иногда, перевернуть относительно горизонтали, линии (стиль, толщина, цвет), стиль/заливка области (иногда, нужно будет ставить "нет", т.е. без цвета), цвет заливки, процент прозрачности области)?

Помогите, пожалуйста!
Записан
Tigrik
Форумчанин
***
Offline Offline

Сообщений: 94


« Ответ #1: 2 Март 2020, 02:27 »

Здравствуйте!
Как-то без ответов остался вопрос - либо вопрос слишком сложный, либо слишком простой, либо... ещё что-то. Возможно, потому что вопрос был задан не в том разделе (Calc).
Поэтому решил переспросить в другом разделе, где, надеюсь, будет развитие этой темы:
https://forumooo.ru/index.php/topic,8023.0.html
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!