• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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 человек и админ и разраб, то да, ты себе поставил и забыл...
а если ты пишешь для конторы, серьезной конторы, у которой стандарты и всякая остальная чепуха, и если эта чепуха не совпадает с той, что ты используешь, то для конторы это лишняя задача ;)
 
Мы в соцсетях:

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