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

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

18 Июнь 2021, 15:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Фиксирование текущей даты  (Прочитано 1098 раз)
0 Пользователей и 1 Гость смотрят эту тему.
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 108


« Ответ #53307: 15 Январь 2020, 09:40 »

Код:
Sub onChangeRange(oEvent As Variant)
Dim oSheet, oCellWithData, oChangedRanges, oRangeToDate, oRange, oEditRange, oCols, oCol, oCells, oCell
Dim i As Long
On Error Resume Next
oSheet = oEvent.getSpreadsheet()
oCellWithData = oSheet.getCellRangeByName("G5:I35")
oChangedRanges = oCellWithData.queryIntersection(oEvent.getRangeAddress())
If IsEmpty(oChangedRanges) Then Exit Sub

oRangeToDate = oSheet.getCellRangeByName("G4:I4").queryEmptyCells()
If IsEmpty(oRangeToDate) Then Exit Sub
For Each oRange In oChangedRanges
oCols = oRange.getColumns()
For i = 0 To oCols.getCount()-1
oCol = oCols.getByIndex(i)
oEditRange = oRangeToDate.queryIntersection(oCol.getRangeAddress())
If Not IsEmpty(oEditRange) Then
For Each oCell In oEditRange
oCell.setFormula(Format(Now, "DD.MM.YYYY HH:mm:SS"))
Next oCell
EndIf
Next i
Next oRange
End Sub
Записан

С уважением,
Михаил Каганский
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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