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

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

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

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

Сообщений: 51



« Стартовое сообщение: 20 Сентябрь 2017, 15:49 »

Добрый день. Господа, выручайте.
Мне нужно выделить некий диапазон ячеек, допустим А3:А6 и удалить их со сдвигом влево. Как сделать это вручную я знаю. Но как это сделать макросом?
Записан
joshua
Пользователь
**
Offline Offline

Сообщений: 51



« Ответ #1: 20 Сентябрь 2017, 16:32 »

Нашел

Dim Doc As Object
Dim Sheet As Object
Dim CellRangeAddress As New com.sun.star.table.CellRangeAddress
 
Doc = ThisComponent
Sheet = Doc.Sheets(0)
 
CellRangeAddress.Sheet = 0
CellRangeAddress.StartColumn = 1
CellRangeAddress.StartRow = 1
CellRangeAddress.EndColumn = 2
CellRangeAddress.EndRow = 2
 
Sheet.removeRange(CellRangeAddress, com.sun.star.sheet.CellDeleteMode.LEFT)


Правда я то хотел удалить имея
oRange1 = oDoc1.Sheets (1).getCellRangeByName ("A3:A6")
но как удалить использую oRange1 не понял.

Меня вообще ужасно путает что доступ к областям можно получить десятью разными способами, и так почти во всем
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 373


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #2: 20 Сентябрь 2017, 16:38 »

Ну, всё верно
Код:
Sheet.removeRange( Sheet.getCellRangeByName("A3:A6").getRangeAddress(), com.sun.star.sheet.CellDeleteMode.LEFT)
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 312


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #3: 20 Сентябрь 2017, 17:03 »

Меня вообще ужасно путает что доступ к областям можно получить десятью разными способами, и так почти во всем
По началу страшно, аж жуть Шокирован, но потом все привыкают Крутой.

У объекта Sheet.getCellRangeByName("A3:A6") есть метод .getRangeAddress() который возвращает объект типа com.sun.star.table.CellRangeAddress

Этот же объект можно получить через Dim CellRangeAddress As New com.sun.star.table.CellRangeAddress с последующим заполнением параметров.
Записан

joshua
Пользователь
**
Offline Offline

Сообщений: 51



« Ответ #4: 21 Сентябрь 2017, 09:18 »

Спасибо господа, вроде начинает проясняться потихоньку)
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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