Author |
Topic |
|
zhuravsky
Russia
115 Posts |
Posted - 02/03/2009 : 12:17:06
|
Хотел в секции Actions записать такую формулу: Setf(Getref(TheText), "B0") но она почему то не работает. Можно ли как-то изменять TheText? |
|
Tumanov
Russia
1198 Posts |
Posted - 02/03/2009 : 16:05:40
|
А что понимается под TheText? Это ячейка секции Events? Если да, то в нее можно писать, как и в любую другую ячейку. Только символьная строка пишется в множестве кавычек. Setf(Getref(TheText), """B0""") |
|
|
zhuravsky
Russia
115 Posts |
Posted - 02/04/2009 : 05:15:23
|
Под TheText понимается текст шейпа (тот, который редактируется по F2 и значение которого можно получить так: ShapeText(Sheet.1!TheText)). Получить то его можно, а вот изменить - нет.
|
|
|
ukreni
Ukraine
35 Posts |
Posted - 02/04/2009 : 14:09:10
|
Мне так же интересно как можно сменить текст фигуры с шейп-листа. Без VBA сам этого сделать не смог. |
|
|
Tumanov
Russia
1198 Posts |
Posted - 02/04/2009 : 15:20:20
|
Изменить напрямую нельзя. Делайте это через ячейку-посредник. В шейп предварительно вводится поле Insert / Fields..., указывается ячейка User, Custom или Scratch. А в шейп листе формула с SetF будет записывать данные в эту промежуточную ячейку. |
|
|
ukreni
Ukraine
35 Posts |
Posted - 02/05/2009 : 06:07:30
|
Так при данном подходе следующая проблема - добавить поле filds с VBA можно, а вот указать user, custom ... похоже, что нельзя. |
|
|
Tumanov
Russia
1198 Posts |
Posted - 02/05/2009 : 16:04:36
|
Не понял, чего нельзя и зачем VBA. Вроде речь шла о работе из шейп-листа... Давайте конкретизируем задачу. Например, нужно по событию перемещения шейпа обновлять в нем время. Пользоваться только шейп-листом. ---- Шейп, естественно, должен готовиться заранее. Рисуем квадратик. Создаем в нем секцию User-defined Cells. Добавляем поле и вписываем в него Custom formula =User.Row_1 В ячейку EventXFMod вписываем формулу =SETF(GetRef(User.Row_1),NOW()) Все. Теперь время от времени двигаем квадратик и видим, как в нем меняется значение времени. Это срабатывает событие перемещения, время заносится в ячейку User.Row_1, а оттуда переписывается в текст шейпа. Что не так? |
|
|
GDK
Russia
90 Posts |
Posted - 02/24/2009 : 12:31:38
|
quote: Originally posted by Tumanov
Изменить напрямую нельзя. Делайте это через ячейку-посредник.
Очень жаль. Хотелось бы, чтобы пользователь мог, выделив фигуру как обычно, просто ввести текст и получить результат(без VBA). А если использовать поля, текст, введённый пользователем, сотрёт просто эти поля. Неудобно. |
|
|
|
Topic |
|