0
- 09.08.2012 - 17:23
|
Добрый день. Очень нужен модуль access который будет объединять текстовые файлы с предложенной папки (каждый раз разные названия и количества файлов). Стандартная функция объединения возможна только к привязаным файлам. Помогите пжл | |
1
- 09.08.2012 - 19:23
| Цена вопроса? Сейчас умеренно загружен, рублей за 700 нарисую. Разумный торг. | |
2
- 09.08.2012 - 19:28
| Готового нету? не очень хочется деньги платить :) Если у кого есть выложите пожалуйста в файлообменник или на почту | |
3
- 09.08.2012 - 19:29
| там делов на пол страницы всего, у меня есть такой же для экселевских файлов, но переделать говорят не получиться его | |
4
- 10.08.2012 - 07:58
|
0) Это реально стоит больше 700 рублей, т.к. разные имена и кол-ва файлов требуют техзадания на полстраницы и его понимания. Если хочется повозиться самому, то: 1) можно скриптом (BAT/VBS/WSH/Python) переименовать разные файлы в "привязанные", а затем уже открывать Access (можно назначить скрипт в св-вах ярлыка) 2) Можно перепривязать TXT макросом VBA внутри Access, при открытии БД разные файлы - в "привязанные". При этом нужно отловить обновление связей, и запустить его уже после переименования. PS Динамическая перелинковка таблиц - слабое место Access, я в MS писал об этом лет десять назад, ничего не поменялось... 4) Вот код на VBA/VB/VBS/WSH, который решает главную проблему TXT-свалки: рекурсию по всем (под)папкам и файлам: ' рекурсивный перебор файлов во всех подпапках корневой (c Thisworkbook) папки, с бесконечной вложенностью Set FSO = CreateObject("Scripting.FileSystemObject") Set RootFolder = FSO.GetFolder(ThisWorkbook.Path) ' установили Корн папку '-------------------------------------------------- ' Set FilesInRoot = RootFolder.Files ' считали файлы в кор папке и в цикле показали их For Each FileInRoot In FilesInRoot MsgBox FileInRoot.Name Next Set SubFolders = RootFolder.SubFolders ' считали подпапки For Each Subfolder In SubFolders Set FilesInSubfolders = Subfolder.Files ' считали файлы из подпапок For Each FileInSubfolder In FilesInSubfolders MsgBox FileInSubfolder.Name Next Next | |
5
- 13.08.2012 - 15:46
|
# на питоне еще красивее import os def walk(dir): for name in os.listdir(dir): path = os.path.join(dir, name) if os.path.isfile(path): print path else: walk(path) walk(path) | |
6
- 15.08.2012 - 20:12
|
ребят тут делов на 4 строчки, я нашел уже как на другом форумею Делюсь )) 1 Public Sub UnionFile() 2 path1="E:\222\" ' место где лежат файлы тут же появится файл dest.txt 3 Call Shell("cmd /c copy """ & path1 & "*.txt"" """ & path1 & "dest.txt""") 4 End Sub | |
7
- 15.08.2012 - 20:14
| если не поймете могу скинуть готовую аксесину с готовым модулем и макросом вывода результата | |
8
- 17.08.2012 - 08:08
|
В принципе да, только пример (6) не скопирует ПОДпапки с вложенными в них файлами txt, так что если такое понадобится - только рекурсия, как в примерах 4 и 5. И потом, у многих на работе злые одминчеги могут запретить скрипты и вызов CMD в целях якобы безопасности. В таких случаях нужно популярно объяснить что они не правы. | |
9
- 17.08.2012 - 17:03
| economist у меня все прекрасно работает, объединение происходит быстро так же как и в тоталкоммандере или тктколлекторе :) на работе одминчики не лазят по личным наработкам программ это им запрещенно :) | |
| Интернет-форум Краснодарского края и Краснодара |