Копирование значения ячеек

Автор Boomerang, 1 февраля 2015, 17:54

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

Boomerang

Необходимо из ячейки на рабочем листе, вставить значение в ячейку на другом листе.
Адрес последней сохранен в ячейке на рабочем листе.

Заранее спасибо.

rami

Например, : в ячейку A1 запишите что-нубудь, в ячейку B1 запишите Лист1.A1, в ячейке C1 запишите формулу =INDIRECT(B1) и увидите содержимое ячейки A1

Boomerang

Спасибо.Будем знать, что это есть, но нужно немного другое.
Задача - очередной склад.
Вопрос: как через UNO диспетчер взять значение ячейки?

rami

Цитата: Boomerang от  3 февраля 2015, 12:17Вопрос: как через UNO диспетчер взять значение ячейки?
Включите запись макроса, выполните требуемые действия и посмотрите полученный макрос.

Boomerang

Copy Paste и EnterString.Нет нужного.

Т.е ячейка лист1.A1, а в ней значение 123.
Как мне добыть его и использовать как переменную в макросе?

rami

Выполните макрос:sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "StringName"
args1(0).Value = "=Лист2.A1"
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args1())
end sub

и в выделенной ячейке появится ссылка на ячейку =Лист2.A1
Цитата: Boomerang от  3 февраля 2015, 12:58Copy Paste и EnterString.Нет нужного.
Если это не то, то уточните, что вы хотите сделать.

Boomerang

В общем есть любая ячейка.Мне нужно взять из неё, то что там сохранено и использовать в макросе как переменную.

rami

Цитата: Boomerang от  3 февраля 2015, 13:17В общем есть любая ячейка.Мне нужно взять из неё, то что там сохранено и использовать в макросе как переменную.
Вот с этого надо было начинать.
Для выделенной ячейки:Sub Main
x=ThisComponent.CurrentSelection.String       'вместо String можно Value для чисел, или Formula для формул
End Sub

Boomerang


rami

Цитата: Boomerang от  3 февраля 2015, 13:34Святой Вы человек.Спасибо!
Закажу аватарку с нимбом 8-)...

Boomerang

А сколько надо времени среднему уму чтобы осилить OOo?Вот енти ThisComponent да прочие...

rami

Цитата: Boomerang от  3 февраля 2015, 13:49А сколько надо времени среднему уму чтобы осилить OOo?Вот енти ThisComponent да прочие...
Если вам это нужно, то рано или поздно всё получится. Ум заключается не в том, чтобы что-то выучить, а в том, чтобы принять решение стоит ли делать самому или обратиться к тому, кто сделает лучше.

Boomerang


TimSha

#13
Цитата: Boomerang от  3 февраля 2015, 15:03но всё же?
А вы по объявлениям о платных курсах примерьтесь - чему да за какое время научают - вот и будет ориентир. Как вариант, однако... ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)

JohnSUN

Цитата: Boomerang от  3 февраля 2015, 14:17
Задача - очередной склад.
Вопрос: как через UNO диспетчер взять значение ячейки?
Дежавю... Матрица глючит. (С)
Поиск на форуме дал пачку аналогичных обсуждений - это, и это, и вот это, и ещё несколько похожих.
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне