Шаблон:Поле прокрутки
Этот шаблон можно использовать для отображения больших текстов в фиксированном окне. Если не указывать ширину и высоту, то они будут максимальными. В случае, если указанная ширина меньше окна вывода, то блок будет выравнен по середине.
Параметр | Описание | Тип | Статус | |
---|---|---|---|---|
Заголовок | заголовок | без описания | Неизвестно | необязательный |
Ширина | ширина | без описания | Неизвестно | необязательный |
Файл | файл | без описания | Неизвестно | необязательный |
Ссылка | ссылка | без описания | Неизвестно | необязательный |
Высота | высота | без описания | Неизвестно | необязательный |
Текст | текст | без описания | Неизвестно | необязательный |
Описание
Для использования шаблона добавьте в текст:
{{Поле прокрутки | ширина = | высота = | заголовок = | файл = | текст = }}
Пример использования
{{Поле прокрутки | ширина = 90% | высота = 200px | заголовок = Пример скрипта LibreOffice VBA | текст = <syntaxhighlight lang=basic>REM ***** LibreOffice BASIC for Calc 4.x ***** ' ' Автор: Павел Малахов, 24pm@mail.ru ' ' Этот скрипт использует стили ячеек, которые желательно создать заранее: ' pm-Время - ячейки со временем ' pm-Заголовок - заголовок колонки в таблице ' pm-Заголовок общий - заголовок отчёта ' pm-Итого - итоговые ячейки ' pm-Сотрудник - заголовок отчёта по сотруднику ' ' ' Предварительные требования к листу с исходными данными: ' - Данные берутся из 1-го листа, со 2-й строки (первая содержит название столбцов и не учитывается) ' - Строки должны быть отсортированны по Подразделению (столбец J) и по вторичному ключу Фамилия (столбец B) ' ' ' Заметки: ' - Скрипт работает медленнее, если включен вид "Разметка страницы". Для ускорения нужно переключить в вид "Обычный" ' ' История изменений:2014.09.04 - первая полнофункциональная версия ' 2014.12.17 - Исправлено: Если был зарегистрирован только вход, то данные следующего человека учитывались в текущем. Добавлена переменная tab_person ' '==== Общие для всех модулей процедуры и функции ==== '==== Константы ==== Const dayStatusHoliday = 0 Const dayStatusShort = 1 Const dayStatusWork = 2 'Определение времени начала и окончания рабочего дня в формате Часы:Минуты:Секунды Const timeWorkStart As Date = "08:00:00" Const timeWorkEnd As Date = "17:15:00" Const timeWorkEndShort As Date = "15:00:00" Const timeZero As Date = "00:00:01" 'если полный ноль, то это минус сутки Const timeWorkOver As Date = "00:15:00" 'переработка < 15 мин не учитывается ' Преобразует дату в строку ' cDate() - не подходит, т.к. возвращает строку в формате "ММ.ДД.ГГГГ ЧЧ:ММ:СС" Function DateTimeToString(dt As Date) As String DateTimeToString = Year(dt) & "." & Month(dt) & "." & Day(dt) & " " & Hour(dt) & ":" & Minute(dt) End Function 'DateTimeToString ' Возвращает количество дней в месяце Function DaysInMonth(dt As Date) As Integer Dim days As Integer days = 28 If IsDate( "29." & Month(dt) & "." & Year(dt) ) Then days = 29 End If If IsDate("30." & Month(dt) & "." & Year(dt)) Then days = 30 End If If IsDate("31." & Month(dt) & "." & Year(dt)) Then days = 31 End If DaysInMonth = days End Function 'DaysInMonth</syntaxhighlight> }}
Результат
{{#if: Пример скрипта LibreOffice VBA|
REM ***** LibreOffice BASIC for Calc 4.x *****
'
' Автор: Павел Малахов, 24pm@mail.ru
'
' Этот скрипт использует стили ячеек, которые желательно создать заранее:
' pm-Время - ячейки со временем
' pm-Заголовок - заголовок колонки в таблице
' pm-Заголовок общий - заголовок отчёта
' pm-Итого - итоговые ячейки
' pm-Сотрудник - заголовок отчёта по сотруднику
'
'
' Предварительные требования к листу с исходными данными:
' - Данные берутся из 1-го листа, со 2-й строки (первая содержит название столбцов и не учитывается)
' - Строки должны быть отсортированны по Подразделению (столбец J) и по вторичному ключу Фамилия (столбец B)
'
'
' Заметки:
' - Скрипт работает медленнее, если включен вид "Разметка страницы". Для ускорения нужно переключить в вид "Обычный"
'
' История изменений:2014.09.04 - первая полнофункциональная версия
' 2014.12.17 - Исправлено: Если был зарегистрирован только вход, то данные следующего человека учитывались в текущем. Добавлена переменная tab_person
'
'==== Общие для всех модулей процедуры и функции ====
'==== Константы ====
Const dayStatusHoliday = 0
Const dayStatusShort = 1
Const dayStatusWork = 2
'Определение времени начала и окончания рабочего дня в формате Часы:Минуты:Секунды
Const timeWorkStart As Date = "08:00:00"
Const timeWorkEnd As Date = "17:15:00"
Const timeWorkEndShort As Date = "15:00:00"
Const timeZero As Date = "00:00:01" 'если полный ноль, то это минус сутки
Const timeWorkOver As Date = "00:15:00" 'переработка < 15 мин не учитывается
' Преобразует дату в строку
' cDate() - не подходит, т.к. возвращает строку в формате "ММ.ДД.ГГГГ ЧЧ:ММ:СС"
Function DateTimeToString(dt As Date) As String
DateTimeToString = Year(dt) & "." & Month(dt) & "." & Day(dt) & " " & Hour(dt) & ":" & Minute(dt)
End Function 'DateTimeToString
' Возвращает количество дней в месяце
Function DaysInMonth(dt As Date) As Integer
Dim days As Integer
days = 28
If IsDate( "29." & Month(dt) & "." & Year(dt) ) Then
days = 29
End If
If IsDate("30." & Month(dt) & "." & Year(dt)) Then
days = 30
End If
If IsDate("31." & Month(dt) & "." & Year(dt)) Then
days = 31
End If
DaysInMonth = days
End Function 'DaysInMonth