OpenOffice

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

vvb
Сообщения: 36
Зарегистрирован: 21 окт 2006, 22:32
Откуда: Пенза
Контактная информация:

Подскажите пожалуйста ссылку на описание объектов, свойств и методов встроенного языка
Аватара пользователя
Aent
Сообщения: 1129
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

Нормального описания нет. Есть разрозненные куски
Hint: язык называется StarBasic
Свойства и методы естественно оьносятся не к языку а к объектной модели
приложения. В Calc и Write они существенно разные.
Объектная модель имеет с MS очень мало общего
Посмотрите:
http://www.ebooksportal.org/2007/03/lea ... mation.ebp
http://www.ebooksboard.com/openofficeor ... explained/
vvb
Сообщения: 36
Зарегистрирован: 21 окт 2006, 22:32
Откуда: Пенза
Контактная информация:

Спасибо, но ссылки мало помогли. Первая у меня не открывается, во второй книги, но скачать е-версию тоже не получилось. Да и будет ли там описание объектной модели?
Вообще, описаний на уровне пользования приложениями достаточно. Но по программированию - очень скудно. Макрорекордер плохо помогает разобраться с наименованиями объектов, свойств и методов. Похоже, он пишет код только в относительных ссылках, что затрудняет ситуацию.
Множество поверхностных утверждений о сильной схожести ООо с МSО оказались неверными. Для пользователя, да. Для программиста, он абсолютно другой.
Аватара пользователя
Aent
Сообщения: 1129
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

Вот на этой страничке http://buhcia.narod.ru/
можно загрузить русский перевод Питоньяка
Vikar
Сообщения: 51
Зарегистрирован: 24 апр 2007, 14:21

Можно посмотреть документацию на форуме по OpenOfficeOrg.
http://community.i-rs.ru/index.php/topic,3604.0.html
Там, кстати, и книга Питоньяка есть.
vvb
Сообщения: 36
Зарегистрирован: 21 окт 2006, 22:32
Откуда: Пенза
Контактная информация:

Aent писал(а):Вот на этой страничке http://buhcia.narod.ru/
можно загрузить русский перевод Питоньяка
Спасибо! То, что надо.
vvb
Сообщения: 36
Зарегистрирован: 21 окт 2006, 22:32
Откуда: Пенза
Контактная информация:

Vikar писал(а):Можно посмотреть документацию на форуме по OpenOfficeOrg.
http://community.i-rs.ru/index.php/topic,3604.0.html
Там, кстати, и книга Питоньяка есть.
Спасибо! Полегчало.
Аватара пользователя
Aent
Сообщения: 1129
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

У меня есть пара-другая книг по программированию. PDF на английском.
БОЛЬШИЕ. Суммарно мегабайт под 45. Если очень надо положу
на какой нибудь файлообменник ;)

Hentzenwerke Publishing - OpenOffice.org Macros Explained.pdf - 17M
Packt.Publishing.Learn.OpenOffice.org.Spreadsheet.Macro.Programming.Dec.2006.pdf -9M
StarOffice 8 Developer's Guide.pdf - 25M
StarOffice 8 Programming Guide for BASIC.pdf -12M

Ещё для начала прочитайте
http://documentation.openoffice.org/HOW ... icXref.pdf

Если после этого не захочется этих весёлых ребят двинуть чем то тяжёлым - можно читать остальное ;)
По моим наблюдениям для CALC в среднем на одну строку VBA приходится 3-4 строки OpenBasic. Это если ещё сопоставить можно ...
Я убил неделю пока разобрался как сделать свой пункт в контекстном меню :(
vvb
Сообщения: 36
Зарегистрирован: 21 окт 2006, 22:32
Откуда: Пенза
Контактная информация:

Aent писал(а):У меня есть пара-другая книг по программированию. PDF на английском.
БОЛЬШИЕ. Суммарно мегабайт под 45. Если очень надо положу
на какой нибудь файлообменник ;)
Спасибо. Буду иметь ввиду Ваше предложение. Пока читаю из того, что уже удалось найти.
Aent писал(а): Ещё для начала прочитайте
http://documentation.openoffice.org/HOW ... icXref.pdf
Спасибо.
Aent писал(а): Если после этого не захочется этих весёлых ребят двинуть чем то тяжёлым - можно читать остальное ;)
Захочется.
Много моментов, которые в VBA стали неотъемлемыми в Calc или отсутствуют или непонятны. Например:
- есть ли понятие "активный объект" (рабочий лист, в частности)? Вместо привычного Workseets("Лист1").activate в макрорекордере получается в несколько раз больше и менее понятный код.
- with - end with - Есть ли аналог?
Aent писал(а): По моим наблюдениям для CALC в среднем на одну строку VBA приходится 3-4 строки OpenBasic. Это если ещё сопоставить можно ...
Я убил неделю пока разобрался как сделать свой пункт в контекстном меню :(
Весёлая жизнь предстоит.
Аватара пользователя
Aent
Сообщения: 1129
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

&quot писал(а):есть ли понятие "активный объект" (рабочий лист, в частности)?
Извольте вместо ActiveSheet использовать конструкцию

Код: Выделить всё

ThisComponent.СurrentController.ActiveSheet
Впрочем вот ещё пример, cкажем имя активной рабочей книги ActiveWorkbook.Name получается легко и непринуждённо

Код: Выделить всё

Dim Filename as string
GlobalScope.BasicLibraries.loadLibrary("Tools")
Filename = FilenameOutOfPath(ThisComponent.GetUrl())
Так же умиляет что для доступа к ячейке таблицы используются РАЗНЫЕ методы
в зависимости от того строковое или числовое значение она содержит ...
И никакого нездорового полиморфизма.
О рекордере нужно забыть вообще. Он записывает вызовы UNO. Код получается крайне не эффективный.
Вобщем, написал я несколько макросов на StarBasic. Прикинул свои временые затраты и легко убедил заказчиков, что экономия на ОО мнимая (если конечно
используются макросы или мало мальски сложные документы). За пару месяцев работы они заплатили мне значительно больше чем если бы сразу купили
MS OFFICE и проект шёл бы в нормальном EXCEL.
Ответить