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

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

13 Ноябрь 2019, 18:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice  без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3 4   Вниз
  Печать  
Автор Тема: Помогите !!! автоматическое добавление даты...  (Прочитано 35667 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Yelik
Участник
**
Offline Offline

Сообщений: 11


« Ответ #45: 9 Апрель 2015, 16:51 »

Присоединяюсь к вопросам JohnSUN:
Давай уточним - какая именно дата должна зафиксироваться в B3? Дата сохранения, дата печати, дата создания?.. В свойствах документа этих дат как миллионеров во Флориде... и ещё добавить можно, в пользовательских свойствах... И выдернуть в нужную ячейку именно её (дату из свойств) - гораздо проще... Опять же, как уберечься от нечаянного изменения даты при повторном открытии файла?
В зависимости от условий задачи решение может быть очень разным.
Дата последней модификации, может быть дата сохранения, если дату будет ставить до сохранения, чтобы можно было распечатать.
Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #46: 9 Апрель 2015, 17:06 »

Назначьте макрос:
Код:
Sub Main
ThisComponent.Sheets(0).getCellByposition(1,2).setValue(Now)
End Sub
событию Печать документа
Дата появится в момент вызова диалога печати.


* Событие печати.png (79.82 Кб, 570x568 - просмотрено 52 раз.)
Записан

JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #47: 9 Апрель 2015, 17:58 »

Отличное решение! Я бы чуть дополнил:
Код:
Sub setDateOfFirstPrint
Dim oCell As Variant
oCell = ThisComponent.Sheets(0).getCellByposition(1,2)
If Trim(oCell.getString())="" Then oCell.setValue(Now)
End Sub
То есть, если в B3 еще ничего нет то вписать текущую дату-время.
Тогда если этот файл нужно будет повторно распечатать из архива (ну, потерялся документ, бывает!), то значение будет то же, что и при печати оригинала.
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Yelik
Участник
**
Offline Offline

Сообщений: 11


« Ответ #48: 10 Апрель 2015, 09:06 »

Назначьте макрос:
Код:
Sub Main
ThisComponent.Sheets(0).getCellByposition(1,2).setValue(Now)
End Sub
событию Печать документа
Дата появится в момент вызова диалога печати.
Отличное решение! Я бы чуть дополнил:
Код:
Sub setDateOfFirstPrint
Dim oCell As Variant
oCell = ThisComponent.Sheets(0).getCellByposition(1,2)
If Trim(oCell.getString())="" Then oCell.setValue(Now)
End Sub
То есть, если в B3 еще ничего нет то вписать текущую дату-время.
Тогда если этот файл нужно будет повторно распечатать из архива (ну, потерялся документ, бывает!), то значение будет то же, что и при печати оригинала.
К сожалению, возвращает ошибку


* Макрос помилка.jpg (32.5 Кб, 423x278 - просмотрено 33 раз.)
Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #49: 10 Апрель 2015, 09:17 »

К сожалению, возвращает ошибку
Если вы удаляете макрос, то удаляйте и связанные с ним события. У вас неудалённое событие ищет удалённый макрос Непонимающий
Записан

Yelik
Участник
**
Offline Offline

Сообщений: 11


« Ответ #50: 10 Апрель 2015, 10:15 »

Работает, огромное спасибо!
Записан
Страниц: « 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!