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

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

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

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3 4 »   Вниз
  Печать  
Автор Тема: Как работает ChartDataChangeEventListener?  (Прочитано 3244 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eeigor
Опытный пользователь
***
Offline Offline

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


« Ответ #61009: 15 Январь 2022, 10:41 »

Я использую событие листа "Content changed", и мне хватает...
Кажется, я уже отвечал Вам на Ваш вопрос...
Возможно я использую не тот листенер, но... другого способа не придумал.
Именно так.

Код:
''''''''''''''''''''''''''''' Sheet Event Procedure ''''''''''''''''''''''''''''
Sub Sheet_OnChange(oTarget As Object)  '<- ScCellObj, ScCellRangeObj, ScCellRangesObj
''' Called by: OnChange (Content changed) event of this sheet.

    On Local Error GoTo HandleErrors
    Dim oCell As Object
    oCell = <Ваша ячейка со списком выбора>
    If oCell.queryIntersection(oTarget.RangeAddress).Count > 0 Then
        ' Ваш код реакции на событие
    End If
    Exit Sub

HandleErrors:
    Msgbox "Error " & Err & " in line " & Erl & ": " & Error _
     , MB_ICONSTOP, "macro:Sheet_OnChange"
End Sub

UPDATED:
Макрос Sheet_OnChange подключается вручную щелчком ПКМ по ярлычку листа >> Sheet Events...

Ваших ячеек может быть много. Определяйте через пересечение диапазонов (oCell ⋂ oTarget), что было изменено, и выполняйте соответствующий Case (Select Case).

UPDATED:
Ячейка не имеет метода queryIntersection, поэтому надо использовать диапазон из одной ячейки. См. исправленный пример в ответе #30.
« Последнее редактирование: 15 Январь 2022, 12:58 от eeigor » Записан

Ubuntu 18.04 LTS • LibreOffice 7.3.2.2 Community
Страниц: « 1 2 3 4 »   Вверх
  Печать  
 
Перейти в:  

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