Импорт в Base списка файлов

Автор Nick222, 21 июля 2017, 18:57

0 Пользователи и 1 гость просматривают эту тему.

Nick222

Есть папка, в которой лежат файлы, они постоянно меняются (количество, имена).

1) Нужно, чтобы в Base (или хотя бы в Calc) можно было автоматически получать список имён этих файлов (хотя бы раз в сутки или по явному запросу) и заносить их в подготовленные поля (ячейки) - для последующего привязывания к кнопке открытия такого файла.

Можно ли это делать изнутри LibreOffice или нужна дополнительная программа ?

2) Можно ли для этих файлов получать их свойства - как это делается изнутри файла через меню Файл - Свойства ?

Или это можно делать через поля - но как из файла Base получить доступ к полю, например, Writer ?

Спасибо :)
Xubuntu 21.04, LibreOffice 7.2.*

economist

#1
В Base, Calc, Writer есть язык программирования StarBasic. На нем можно написать что-то типа:

Sub ListDirectory
Papka="C:\Tmp\*"
res=dir(Papka)
While res<>""
    msgbox(res)
     res=Dir
Wend
End sub

Это выведет все файлы в корневой папке (Tmp)

Можно применять маски ввода типа Papka="C:\Tmp\Отчет за *.PDF"
Как получить значения/имена в ячейки книги Calc в коротком стиле
Cells(k,1)=res
- отпишусь в понедельник.   


Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

economist

Доступ из Base к полю файла Writer - неправилен.

Правильнее - макрос в самом Writer, который при сохранении файла - кладет запись в базу данных.    

Но перед тем как городить огород - нужно озвучить что "вваащенадато?"

В последнее время прям эпидемия файло-каталогизаторов, и есть ощущение что народ идет не туда...  
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Nick222

Нужно разделить файлы и документы - получить список документов с именами соответствующих файлов и со всеми свойствами документов.

Потом раскидать их по проектам (чтобы не руками рисовать картинки - какие файлы относятся к какому проекту и каковы свойства документов в них (названия, ключевые слова, размер в страницах и т.п.)).

Могу это сделать частично через Total Commander, но там не очень удобно + под Linux в нём не все фишки работают.

Думал сделать СУБД, которая бы содержала подобную информацию + сканировала бы папки на предмет не вовлечённых в работу документов.
Xubuntu 21.04, LibreOffice 7.2.*

economist

Зачем нужна СУБД? Если в ней не будет ни одного SQL-запроса - СУБД будет избыточной.

Если нужна красивая таблица файлов по проектам - так и делайте всё в Calc/Excel. В части интерактивной работы (те же проекты назначить файлам) - в этих приложениях есть все, чтобы как можно меньше программировать (формулы, динамические Списки выпадающие списки - проверки значений). На Листе - всегда быстрее и удобнее нарисовать "формы", поскольку не нужно писать кучу кода для обработки событий в диалогах. ODB-файл не позволяет работать с ним одновременно нескольким, а Calc/Excel - позволяет. 

Для чтения свойств документа есть куча готовых макросов в книжках того же Питоньяка, здесь на Форуме были примеры, ищите. Чтобы читать метаданные файлов Microsoft, PDF-ы итд - потребуются другие, сторонние инструменты.   

Заодно появятся мысли о дальнейшем развитии системы. По себе знаю, - как только увидишь красивый список файлов по проектам, тут же захочется увидеть и стадии проектов, статистику редактирования, общее продвижение итп. И такой DashBoard очень будет логично смотреться в презентации на общем мониторе в офисе. Задача интересная и объемная, её надо хорошо продумать.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Nick222

Спасибо огромное за советы :)
Xubuntu 21.04, LibreOffice 7.2.*

economist

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Nick222

Нет, это 2011 год, там даже файла самого расширения нет и сайт проекта 404.
Xubuntu 21.04, LibreOffice 7.2.*