Форум программистов, компьютерный форум, киберфорум
Lotus Notes/Domino: Программирование
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 17.01.2019
Сообщений: 45
1

Определить самый новый файл, его имя, дату и время

18.05.2020, 21:21. Просмотров 780. Ответов 7

Доброго времени суток!
Прошу помочь реализовать такую задачу. Не знаю возможно ли вообще такое реализовать в Lotus...
Необходимо по нажатию на кнопку найти самый новый файл с определенным расширением в папке. И в 3 поля формы проставить его имя, дату и время.

Если чисто Lotus'ом этого не сделать, то может возможно как-то прикрутить к этому код VBS? В нем как раз определяется все нужное.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Dim oLstFile : Set oLstFile = Nothing
  Dim oFile
  Dim goFS    : Set goFS    = CreateObject("Scripting.FileSystemObject")
  For Each oFile In goFS.GetFolder("C:\Myfolder").Files
      If "jpg" = LCase(goFS.GetExtensionName(oFile.Name)) Then
         If oLstFile Is Nothing Then 
            Set oLstFile = oFile ' the first could be the last
         Else
            If oLstFile.DateLastModified < oFile.DateLastModified Then
               Set oLstFile = oFile
            End If
         End If
      End If
  Next
  If oLstFile Is Nothing Then
     WScript.Echo "Файлы нужного расширения не найдены"
  Else
     WScript.Echo oLstFile.Name, "  ", oLstFile.DateLastModified
  End If
Спасибо
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2020, 21:21
Ответы с готовыми решениями:

Записать дату и время создания каждого файла в его имя
Здравствуйте! Прошу помощи. Есть каталог со множеством файлов (например, jpg, больше тысячи)....

Как определить самый новый процесс и завершить его?
привет. не подскажете как завершить самый новый процесс, необходимо сделать ч/з kill -9 может с...

В опредленном каталоге найти самый большой файл и вывести его имя
Имеется задания, в опредленном каталоге найти самый большой файл и вывести его. Нашел вывел, с...

Как скопировать лист в новый файл и обозвать его (файл) именем, включающим текущую дату?
Господа, как скопировать лист в новый файл и обозвать его (файл) именем, включающим текущую дату. В...

7
270 / 61 / 30
Регистрация: 02.02.2013
Сообщений: 252
19.05.2020, 15:15 2
В LotusScript есть функци FileDateTime(fileName$), которая возрвщает дату создания и дату изменения файла.

Visual Basic
1
2
3
4
5
6
Dim fileName As String, fileNum As Integer
fileNum% = FreeFile()
fileName$ = "c:\data.txt"
Open fileName$ For Output As fileNum%   ' Create data.txt file.
Close fileNum%
Print fileName$; " Created on "; FileDateTime(fileName$)
Имя файлов можно получать через другую фннкцияю dir()

Visual Basic
1
2
3
4
5
6
7
Dim pathName As String, fileName As String
pathName$ = "c:\*.*"
fileName$ = Dir$(pathName$, 0)
Do While fileName$ <> ""
   Print fileName$
   fileName$ = Dir$()
Loop
0
0 / 0 / 1
Регистрация: 17.01.2019
Сообщений: 45
19.05.2020, 23:49  [ТС] 3
Ага, спасибо. Буду сейчас разбираться. А как результат вывести в поле формы? Не делал еще подобное (
0
270 / 61 / 30
Регистрация: 02.02.2013
Сообщений: 252
20.05.2020, 10:06 4
Если в документе нужно сохранить значение, например в поле MyFileDate то просто

Visual Basic
1
doc.MyFileDate = FileDateTime(fileName$)
т.е.

Visual Basic
1
doc.fieldname = Значение
т.е. имя поля просто указывается после точки у объекта notesDocument
Есть и другие способы конечно - этот просто намый простой.
0
0 / 0 / 1
Регистрация: 17.01.2019
Сообщений: 45
20.05.2020, 22:17  [ТС] 5
Я правильно понимаю, что нужно только заменить строку с Print на предложенную с именем своего поля?
0
270 / 61 / 30
Регистрация: 02.02.2013
Сообщений: 252
21.05.2020, 00:20 6
Да, если брать первый пример. Можно даже поля назвать так же как и функцию:

Visual Basic
1
doc.FileDateTime = FileDateTime(fileName$)
Предполагается, что предварительно объект документа doc получен и существует. т.е. либо созднан новый документ, либо изменяется сущесвтующи документ.
0
0 / 0 / 1
Регистрация: 17.01.2019
Сообщений: 45
21.05.2020, 14:07  [ТС] 7
Лучший ответ Сообщение было отмечено Alex Ivanov как решение

Решение

Как то странно. Print то показывает имя файла, а то нет. А если результат в поле выводить - то ошибка: Variant does not contain an object
0
270 / 61 / 30
Регистрация: 02.02.2013
Сообщений: 252
21.05.2020, 14:09 8
Так сложно сказать - нужно видеть весь код программы.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2020, 14:09

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Определить самого старшего человека из списка и вывести его фамилию, имя и дату рождения
Имеется список людей с указанием их фамилии, имени и даты рождения. Напишите эффективную по времени...

Определить самого старшего человека из списка и выводить его фамилию, имя и дату рождения
19) Имеется список людей с указанием их фамилии, имени и даты рождения. Напишите эффективную по...

Переписать данные из файла в новый файл, отбросив самый большой и самый маленький результат
Файл содержит данные о результатах 25 экспериментальных измерений. Переписать их в новый файл,...

Добавить в каждый текстовый файл в каталоге (имя каталога передается как параметр) дату его создания
Нужно добавить в каждый текстовый файл в каталоге (имя каталога передается как параметр) дату его...

Поток: открыть любой файл, определить его размер и занести в новый файл
очень нужно решить две задачи 1.Создать поток открывающий любой файл,определить его размер и...

В имя файла нужно включить дату и время
Задача: в имя файла нужно включить дату и время в формате &quot;ГГММДД ЧЧ:ММ:СС&quot; Данный код: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.