Передо мной поставлена интересная задача и, к сожалению, есть минимум времени на реализацию. Поэтому, очень прошу Вашей помощи, господа!
Итак, необходимо создать в Excel список документов в заданной папке (что-то типа структурированного архива) и полностью управлять ими из Excel: - Переименовывать - Копировать - Удалять - Обновлять перечень и свойства файлов (Заголовок, Тема, Категория)
А какое отношение ваш вопрос имеет к теме форума - Microsoft Excel?
По вашей ссылке - OLE File Property Reader обратите внимание на последнее слово - Reader, т.е. эта штука только прочитать свойства сможет, а не изменить их.
> Передо мной поставлена интересная задача и, к сожалению, есть минимум времени на реализацию.
Самостоятельно что-либо сделали? Если нет - сколько готовы заплатить за решение? (судя по заданию, изложенному в теме, вы ждете готовое решение, да ещё и срочно)
To EducatedFool > А какое отношение ваш вопрос имеет к теме форума - Microsoft Excel? Собственно список создаётся и обрабатывается в Excel.
> эта штука только прочитать свойства сможет, а не изменить их. Из Overview: ...Reader 2.1 Sample demonstrates how to use the IPropertyStrorage interface to read and write document properties... Т.е. запись тоже работает, сам проверял несколько лет назад.
> сколько готовы заплатить за решение? Я уже давно на этом форуме, как и сотни других пользователей! Но никогда ещё меня не просили сначала оплатить решение задачи, которого ещё нет.
Вам платят за выполнение этой задачи? Почему же сами не делаете свою работу, тем более, если она интересная?
> Помогите с реализацией, please!
Да конечно поможем, не вопрос. И ни копейки денег за это не возьмём. Вы только покажите свои попытки сделать что-то самостоятельно, и скажите, что конкретно не получается.
А делать за вас всю эту бессмысленную работу (которую вы назвали интересной, в надежде на халяву), вряд ли кто будет...
Ребята, вы только не подумайте, что я халявщик или бездельник. Мне придётся разобрать ~8500 документов: - удалить дубликаты, временные и битые файлы; - исправить файлы со стёртым расширением; - собрать файлы, сохранённые отдельными страницами и как HTML с изображениями - конвертировать многостраничные Tiff и DjVu в PDF; - конвертировать DOC, RTF, MHT в DOCX; - оптимизировать все файлы для уменьшения занимаемого места; - переименовать все файлы по тематике и т.д. и т.п.
Задача назрела за много лет работы - просто стало трудно ориентироваться в такой куче документов. Лично я не получу за это ни копейки.
Помощи прошу потому, что у меня не хватает знаний по VB. Я не считаю, что мне тут кто-то что-то должен. Но надеюсь, что найдутся люди, которым будет интересно поучаствовать в решении данной задачи и, может быть, применить полученное решение для своих целей.
EducatedFool, надеюсь, то, что я написал, поможет Вам понять ситуацию. Хотя, может быть у Вас просто что-то не сложилось в этой жизни. Извините, если Вас задело что-то сказанное мною выше... Не хотел Вас обидеть!=)
Для начала почитайте про FileSystemObject - библиотека Microsoft Scripting Runtime: работа с дисками, папками, файлами. Для совокупности можете почитать про Shell.Application библиотека Microsoft Shell Controls And Automation. Наиболее полно можно найти здесь forum.script-coding.com/. Если не любите сторонних библиотек, то читайте информацию по модулю FileSystem. С библиотекой чтения свойств файлов, как я понимаю, вы уже разобрались. Поищите по темам здесь и в инете поиск файлов по всем папкам для составления каталога файлов.
Для того, что вы описали, подойдёт любой файловый менеджер - типа Total Commander с плагинами.
И дубликаты найдёт, и переименует все как надо, и удалит ненужное... Часть из того, что вы описали - надо делать спец программами (типа конвертации файлов)
Из всего, что вы описали после фразы «Мне придётся разобрать ~8500 документов:», не нашел ничего такого, что чего был бы нужен Excel. Зачем тратить кучу времени на создание файлового менеджера в Excel, если есть куча бесплатных многофункциональных утилит?
EducatedFool, за ссылки от души спасибо!!! > Как всё остальное будете делать - представления не имею... Всё перечисленное после фразы «Мне придётся разобрать ~8500 документов» я уже почти сделал. Программы: Duplicate Cleaner, DjVuToy + PdgCntEditor, Doc2docx, NXPowerLite, TotalCMD (собственной сборки). Многое пришлось делать вручную, т.к. дубликаты документов, скачанных в разное время с разных источников не найти автоматом (в них изначально нет ничего общего, к тому же нужно было учитывать, что многие файлы обросли пометками специалистов нашего отдела). В целом, понадобилось чуть больше дня.
> Зачем тратить кучу времени на создание файлового менеджера в Excel Просто подходящих бесплатных программ нет, а платные во-первых, не купят, во-вторых, придётся объяснять, как с ними работать. Зато есть лицензионный и всем знакомый Excel, где можно ввести единую плавающую нумерацию документов, использовать фильтры, комментарии, ссылки и т.п. А самое главное - полученный файл легко связать с расчётными таблицами Excel и шаблонами Word. Как показала практика, это очень удобно.
Я вот тоже задачу не понял - каким боком тут Эксель? Хранить ссылки на файлы и перемещать/переименовывать кликом? Зачем? Если нужно создать некое электронное хранилище файлов, где каждому документу можно дать редактируемое описание/пометки и где всё всегда легко найти по различным параметрам - это уже серьёзная программа, в любом случае серьёзная и дорогая работа. С поддержкой. У нас сваяли нечто подобное, с web-мордой - вполне удобная штука, но уже пару лет как работает, и всё ещё до совершенства не доведена. Конвертации/переименования файлов там нет - да оно и не нужно, это мелкие локальные проблемы пользователя. Есть только сканирование в pdf - остальная подготовка помещаемых в базу файлов на ответственности пользователя. Я участия в разработке не принимал, так что внутренности не знаю.
А что у Вас именно не получается? Смотрели те ссылки, которые Вам предоставил Игорь(EducatedFool)? Вы опишите подробней, то что Вы хотите получить в результате от Экселя, с учетом всех (пускай будет бесплатных) программ.
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
Пусть меня забанят за оффтоп (не дай бог это практикуется на этом сайте), но аська вообще никак не коннектится. Поэтому пишу здесь. Я посмотрел некоторые Ваши работы... Сразу скажу, многое видел на VBE (часть даже понял и освоил), но чтоб было возможно то, что Вы делаете, я даже подумать не мог. Снимаю шляпу!
Если вкратце, то: 1. Автоматом сформировать список файлов в указанной папке 2. Автоматом сформировать таблицу свойств файлов (имя, путь, тип и размер) 3. Вручную для каждого файла указать название, № документа, категорию (основополагающие НТД, расчётные и т.п.), дату введения и последней редакции 4. Записать полученные название, № документа и категорию в свойства файла (Заголовок - Тема - Категория)
В дальнейшем папка НТД будет использоваться в работе, обновляться и дополняться. Соответственно, желательно, чтобы в Excel: - в Excel можно было отметить, когда файл последний раз проверялся на обновление - при нажатии "Обновить" зачитывались новые файлы из папки НТД - при нажатии "Переименовать" записывались новые свойства файлов из Excel (имя файла, название, № и категория документа) - при нажатии "Копировать/Удалить" выполнялись соответствующие действия с файлами, отмеченными, скажем, знаком "+"
Всё.
PS: до ссылок Игоря (EducatedFool) только что добрался. Пока мало, что понял. Стараюсь надеяться, что разберусь! Хотя надежда тает...
Более точно сформулировал задачи и цели проекта...
Задачи автоматизации: 1. Сформировать список файлов в указанной папке с гиперссылками на них 2. Сформировать таблицу свойств файлов (имя, путь, тип и размер) 3. Анализировать перечень НТД средствами Excel (тип и размер файлов; даты введедения и обновления документов) 4. При нажатии "Переименовать" переписывать свойства файлов из Excel (имя файла, название, № и категория документа в теги "Заголовок" - "Тема" - "Категория") 5. При нажатии "Обновить" зачитывать новые файлы из папки НТД 6. При нажатии "Копировать/Удалить" выполнять соответствующие действия с файлами, отмеченными, скажем, знаком "+" (при удалении файла также необходимо удалить строку из списка Excel)
Цели проекта: 1. Ввести единую нумерацию НТД для расчётных таблиц и пояснительных записок 2. Оперативно составлять готовые наборы и наглядные списки НТД под конкретные задачи 3. Быстро корректировать номер, название и категорию документов 4. Удобно работать с файлами через Проводник за счёт наличия у файлов заданных свойств 5. Отслеживать, сколько времени прошло с момента последней проверки актуальности документов 6. Не тратить деньги и время на подбор, покупку и освоение новых программ
Sub FillWorkbookProperties(ByRef wb As Workbook, _ Optional ByVal Title As String = vbNullString, Optional ByVal Subject As String = vbNullString, _ Optional ByVal Author As String = vbNullString, Optional ByVal Keywords As String = vbNullString, _ Optional ByVal Template As String = vbNullString, Optional ByVal LastAuthor As String = vbNullString, _ Optional ByVal Manager As String = vbNullString, Optional ByVal Company As String = vbNullString) On Error Resume Next
MyComment = "http://excelvba.ru/" & vbNewLine & "Разработка макросов любой сложности для Excel"
With wb.BuiltinDocumentProperties If Len(Title) Then .item(1) = Title If Len(Subject) Then .item(2) = Subject If Len(Author) Then .item(3) = Author If Len(Template) Then .item(4) = Template .item(5) = MyComment If Len(LastAuthor) Then .item(7) = LastAuthor If Len(Manager) Then .item(20) = Manager If Len(Company) Then .item(21) = Company End With End Sub