Помогите !!!!!На слайде нарисована таблица.Ка...

Автор ForumOOo (бот), 14 ноября 2012, 20:57

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

ForumOOo (бот)

Компонент: Impress
Версия продукта: 3.4.x
Сборка: ID сборки: 7e68ba2-a744ebf-1f241b7-c506db1-7d5373
ОС: Win7

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

Тестовый файл: http://forumooo.ru/attachments/upload/slayd_2.jpg (70.8 КБ)

--
Подпись: NataliaPodoprigora
Эл. почта: thebestgirlnata@list.ru


NataliaGirl

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

Yakov

#3
Добро пожаловать на форум,  Nataliapodoprigora!



REM  *****  BASIC  *****

Sub Main
Dim oSize as New com.sun.star.awt.Size
Dim oPos as New com.sun.star.awt.Point
oSize.Width = 6000
oSize.Height = 6100
oPos.X = 6000
oPos.Y = 5000
oDoc = ThisComponent
DrawPages = oDoc.DrawPages
DPage = DrawPages.getByIndex(0)
oTable = oDoc.createInstance("com.sun.star.drawing.TableShape")
DPage.add(oTable)
oTable.Model.Rows.InsertByIndex(1,4)
oTable.Model.Columns.InsertByIndex(1,4)
oTable.setSize(oSize)
oTable.setPosition(oPos)
TModel = oTable.Model
Cell = Tmodel.getCellByPosition(Int(4*Rnd),Int(4*Rnd))
Cell.FillStyle = com.sun.star.drawing.FillStyle.SOLID
Cell.FillColor = 222222
Cell2 = Tmodel.getCellByPosition(1,1)
Cell2.setString("Мой текст")
End Sub

NataliaGirl

Подскажите еще одно: во второй таблице мы выделили ячейку и для нее нужно написать форомулу используя ячейки первой таблици..Тоесть мы имеем строку в которую нужно записать " = " (соответственно есть кнопка на слайде), потом клацнуть на определенной ячейке первой таблици и записать потом следующий оператор..и так далее....и потом проверить правильна ли эта формула введена..Как это сделать?????В либре вообще новичок, ранее не работала...

[вложение удалено Администратором]

Yakov

Во второй таблице будут храниться формулы, а отображаться значения?
Или должны отображаться только формулы?

NataliaGirl

Должна быть реалицазия симплекс метода..Во второй таблице ничего не должно быть кроме выделеной ячейки...а в первой таблице просто нужно кликать на ячейки и их значения или номер или название должно отображаться в рядок под первой таблицей...соответственно принажатии на знак математической операции она тоже должна отображаться в рядке под первой таблицей...

Yakov

Приложите файл презентации со слайдом (Слайд2, где 2 таблицы). Так проще будет макрос писать...

NataliaGirl

Получается при нажати на кнопку Начать на первом слайде нужно рандомом выбрать и окрасить одну ячейку из второй таблици...Затем сделать то, что я выше просила..Вести формулу и окрашивтаь ячейки в первой таблице если она выбрана правильно...

[вложение удалено Администратором]

Yakov

Привязал кнопки к макросам. Ячейка в таблице окрашивается.
Осталось разобраться с кликами по ячейкам таблицы.



[вложение удалено Администратором]

NataliaGirl

Спасибо!!!А если, допустим, в первой таблице были бы числа, то можна было бы как-то сделать чтобы при клике на нужной ячейке в первой таблице число, которое там стоит, записывалось в ту же строчку, что и математические операции.Может так проще будет сделать???Например, должно в той строчке быть прописано
"=9-2*3"...Такого плана...

Yakov

Да. Эту процедуру надо привязывать к клику по таблице (можно привязать только к таблице целиком, а не к отдельным ячейкам).
Макрос должен отследить положение курсора/мыши, т .е. координаты ячейки (с этим надо разобраться). А затем прочитать значение и записать его в нужную строчку.

NataliaGirl

Помогите с последним куском макроса....Очень нужно....

Yakov

Цитата: Yakov от 16 ноября 2012, 22:22Эту процедуру надо привязывать к клику по таблице
Это событие срабатывает только в режиме демонстрации презентации. В режиме дизайна вроде как не работает.
p.s. пишу код дальше...

NataliaGirl