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

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

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

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 »   Вниз
  Печать  
Автор Тема: Макрос и Номера листов  (Прочитано 2222 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ink-service
Участник
**
Offline Offline

Сообщений: 19


« Ответ #49996: 12 Февраль 2019, 16:59 »

Доброго всем времени..
Подскажите как  мне лучше написать макросом подобное..
Есть в Лист1, Лист2, Лист3, Лист4 ...... и т.д.
Причем  кол-во листов может быть разное.
Простым макросом я сделал так что нужные данные собираются на Листе1 из Лист2, Лист3, Лист4,
И этим макросом  нужно собрать данные на Листе2.... И вот тут проблема в том, что в макросе четко указаны в формуле Лист1 , Лист2, Лист 3 ...и т.д. , а нужно так чтобы не зависеть от номера листов и их кол-во в книге.... ))...
вот пример кусок макроса:

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "StringName"
args2(0).Value = "=ЕСЛИОШИБКА(ВПР(C11;Лист2.C$9:G$280;5;0);"""
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$L$11"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())

rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "StringName"
args4(0).Value = "=ЕСЛИОШИБКА(ВПР(C11;Лист3.C$9:G$280;5;0);"""
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args4())

rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "ToPoint"
args5(0).Value = "$N$11"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args5())

rem ----------------------------------------------------------------------
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "StringName"
args6(0).Value = "=ЕСЛИОШИБКА(ВПР(C11;Лист4.C$9:G$280;5;0);"""
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args6())

и нужно чтобы тут не Жестко ЛИСТ2  ,а так что если текущий лист, на котором стоишь, уже ЛИСТ2, то значить в формуле будет ЛИСТ1, лист 3, лист4 и т.п.)))
Записан
Страниц: 1 2 »   Вверх
  Печать  
 
Перейти в:  

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