• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Lotusscript

  • Автор темы Xalet
  • Дата начала
X

Xalet

Доброго времени суток всем.
Возникли некоторые вопросы по ЛС. Вообще он очень похож на бейсик. Но в некоторых моментах отличается. Собственно вопрос:

Есть код на ВБ:

Код:
Dim Doc As Object
Dim Sheet As Object
Dim CellRangeAddress As New com.sun.star.table.CellRangeAddress
Dim CellAddress As New com.sun.star.table.CellAddress
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
CellRangeAddress.Sheet = 0
CellRangeAddress.StartColumn = 1
CellRangeAddress.StartRow = 1
CellRangeAddress.EndColumn = 2
CellRangeAddress.EndRow = 2
CellAddress.Sheet = 0
CellAddress.Column = 0
CellAddress.Row = 5
Sheet.moveRange(CellAddress, CellRangeAddress)

Как сделать его аналог на ЛС?

ругается на :

Код:
Dim CellRangeAddress As New com.sun.star.table.CellRangeAddress
Dim CellAddress As New com.sun.star.table.CellAddress

Спасибо.
 
A

abbatik

ругается на :

Код:
Dim CellRangeAddress As New com.sun.star.table.CellRangeAddress
Dim CellAddress As New com.sun.star.table.CellAddress

Спасибо.

Сорри за оффотоп, но будь я LS, я бы тоже ругнулся, что какую-то сивуху пытаются втюхать :rolleyes:

А по делу да, Variant.

Можешь потом попробовать set CellAddress = CreateObject ("com.sun.star.table.CellRangeAddress")
 
X

Xalet

А по делу да, Variant.

Можешь потом попробовать set CellAddress = CreateObject ("com.sun.star.table.CellRangeAddress")

Чего я ток не пробовал. Так тоже не работает. CellRangeAddress это не объект, а структура.

Нашел. Если вдруг кому понадобится, то структуры для ОпенОфиса создаются серис менеджером:

Код:
Set obj = svcMgr.Bridge_getStruct("com.sun.star.table.CellRangeAddress")
 
A

azat20

писать выгрузку в OO зло:rolleyes: Но зато написав раз,не паришься уже. Там хрен пойми как обращаться к объектам. Методом проб и ошибок, взяв в руки бубен через продолжительное время получается :)
 
X

Xalet

писать выгрузку в OO зло Но зато написав раз,не паришься уже. Там хрен пойми как обращаться к объектам. Методом проб и ошибок, взяв в руки бубен через продолжительное время получается
Так оно у меня написано было уже. Но на джаве и работало через бридж. Появилось мнение, что так оно медленно работает. Решили переделать без джавы. В эксель всё в разы проще делается, но он денег стоит и предлагать клиенту как решение не особо хорошо.
 
A

Akupaka

проблема не в совместимости двух продуктов на одной машине, а в том, что клиенту это лишняя задача :)
 
X

Xalet

проблема не в совместимости двух продуктов на одной машине, а в том, что клиенту это лишняя задача
так это смотря в каких целях использовать... Если только распечатать отчет, то пользователь может и не знать, что у него стоит ОО вообще.
 
A

Akupaka

спорщик :)
если ты в конторе из 10-20 человек и админ и разраб, то да, ты себе поставил и забыл...
а если ты пишешь для конторы, серьезной конторы, у которой стандарты и всякая остальная чепуха, и если эта чепуха не совпадает с той, что ты используешь, то для конторы это лишняя задача ;)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!