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

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

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

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: VBA notation in Calc : Забавный пример  (Прочитано 509 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eeigor
Ubuntu 18.04 LTS • LO 7.0.2.2
Форумчанин
***
Offline Offline

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



« Стартовое сообщение: 19 Декабрь 2020, 22:08 »

Забавный пример с обращением к диапазонам в стиле Excel. Выполните процедуру Main. Удобно. Но стоит ли?..

Module1
Код:
Option Explicit

Dim Sheets(2) As New CSheet

Sub Main
    Call InitSheets

    ' For example
    Sheets(2).Range("A1").Value = 123
    MsgBox Sheets(2).Range("A1").Value
End Sub

Sub InitSheets()
    Dim i%
    For i = 0 To 2
        Sheets(i).Sheet = ThisComponent.Sheets(i)
    Next
End Sub

CSheet
Код:
Option Compatible
Option ClassModule
Option Explicit

Public Sheet

Function Range(Name As String)
    Range = Sheet.getCellRangeByName(Name)
End Function

UPD:
Закомментировал строку <Option ClassModule>, и не работает. Что, здесь в Basic нельзя создавать свои модули класса?
Только так
Код:
Option Compatible
Option ClassModule
Option Explicit

Private _myvar As String

Public Property Get myvar() As String
    myvar = _myvar
End Property

Public Property Let myvar(str As String)
    _myvar = str
End Property

Ну, да: Option ClassModule  //Use to create classes (+ Option Compatible)
А для объектных свойств Let заменить на Set?
Это вообще стабильно работает тут? А отвечают здесь...
Есть ли "цельное" описание этой возможности?

UPD2:
Подробности и примеры использования в библиотеке "Access2Base".

* VBA-notation.ods (9.37 Кб - загружено 5 раз.)
« Последнее редактирование: 19 Декабрь 2020, 23:19 от eeigor » Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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