powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Объединение файлов
15 сообщений из 15, страница 1 из 1
Объединение файлов
    #32664456
Просто чайник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, all !

Вопрос такой: есть директория, там много однотипных маленьких файлов, которые надо грузить в базу. Файлы текстовые, разделитель - TAB. Как их объединить в один большой файл для одноразовой загрузки? Если можно - пример приведите, думаю, что для вас это просто.

Заранее спс.
...
Рейтинг: 0 / 0
Объединение файлов
    #32664491
raur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
своим маленьким вопросиком ты просишь БОЛЬШУЮ прогу
разбей его на несколько маленьких и уточни, какая база, куда хочешь данные закинуть, ну и так далее
...
Рейтинг: 0 / 0
Объединение файлов
    #32664514
Просто чайник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raurсвоим маленьким вопросиком ты просишь БОЛЬШУЮ прогу
разбей его на несколько маленьких и уточни, какая база, куда хочешь данные закинуть, ну и так далее

Да какая разница - куда грузить? Я ж не прошу прогу загрузки (она есть), мне надо объединить несколько ТХТ-файлов в один , из жестко определенной директории, и фсе. Куда уж меньше. :))
...
Рейтинг: 0 / 0
Объединение файлов
    #32664595
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы взял fso и
for each iFile in ....
...
Рейтинг: 0 / 0
Объединение файлов
    #32664788
Просто чайник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeя бы взял fso и
for each iFile in ....

Я бы тоже . Если б не был чайником. Примерчик бы, плз. Чую, строк 20 будет, не более . И лучше бы в VBA.
...
Рейтинг: 0 / 0
Объединение файлов
    #32665007
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
Sub Test()    Dim mStr As String    Dim MyName As String    Dim MyPath As String    Dim f1 As Byte    Dim f2 As Byte    MyPath = "D:\\0\\"    MyName = Dir(MyPath & "*.htm")    f1 = FreeFile    Open "D:\\0\\test1.out" For Output Shared As f1    Do While MyName <> ""        f2 = FreeFile        Open MyPath & MyName For Input As f2        Print #f1, Input(LOF(f2), f2)        Close f2        MyName = Dir    Loop    Close f1End Sub
Как отформатирован этот код?
...
Рейтинг: 0 / 0
Объединение файлов
    #32665528
Просто чайник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто Чайник big-dukeя бы взял fso и
for each iFile in ....

Я бы тоже . Если б не был чайником. Примерчик бы, плз. Чую, строк 20 будет, не более .

Девятнадцать строк .

marvan , спс, счас проверю.

ЗЫ. А вообще, получается (по проге), что итоговый файл D:\0\test1.out ляжет в ту же дир-ю, где все и лежало, так, что-ли?
...
Рейтинг: 0 / 0
Объединение файлов
    #32665702
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если задача рАзовая, то проще использовать команду copy:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
D:\>copy /?
Копирование одного или нескольких файлов в другое место.

COPY [/V] [/N] [/Y | /-Y] [/Z] [/A | /B] источник [/A | /B]
     [+ источник [/A | /B] [+ ...]] [результат [/A | /B]]

  источник     Имена одного или нескольких копируемых файлов.
  /A           Файл является текстовым файлом ASCII.
  /B           Файл является двоичным файлом.
  результат    Каталог и/или имя для конечных файлов.
  /V           Проверка правильности копирования файлов.
  /N           Использование, если возможно, коротких имен при копировании
               файлов, чьи имена не удовлетворяют стандарту  8 . 3 .
  /Y           Подавление запроса подтверждения на перезапись существующего
               конечного файла.
  /-Y          Обязательный запрос подтверждения на перезапись существующег
               конечного файла.
  /Z           Копирование сетевых файлов с возобновлением.

Ключ /Y можно установить через переменную среды COPYCMD.
Ключ /-Y командной строки переопределяет такую установку.
По умолчанию требуется подтверждение, если только команда COPY
не выполняется в пакетном файле.

Чтобы объединить файлы, укажите один конечный и несколько исходных файлов,
используя подстановочные знаки или формат "файл1+файл2+файл3+...".
...
Рейтинг: 0 / 0
Объединение файлов
    #32700106
Просто чайник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте еще раз.

marvan, персональный snks, все работает. Но хотелось бы маленькое улучшение:
marvan Do While MyName <> ""
f2 = FreeFile
Open MyPath & MyName For Input As f2
Print #f1, Input(LOF(f2), f2)
Close f2
MyName = Dir
Loop

Файл добавился и закрылся, тут все ОК.
Как перенести этот, только что записанный файл (f2) в определенную, опять же известную заранее, директорию?

И еще один вопрос: вся эта хрен...в смысле, макрос, доллжен запускаться автоматически при вызове этого файла (формата xls)? Понимаю, что вопрос совсем простой, но... облазил весь хелп, нашел только как НЕ ЗАПУСКАТЬ макрос. Может, я неправильно спрашиваю? Попытки autorun, run, macros, start, autostart и многое другое успеха не принесли.

ЗЫ. Сильно не пинайте
...
Рейтинг: 0 / 0
Объединение файлов
    #32702015
Просто чайник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я же просил СИЛЬНО не пинать
А тут - полный игнор
marvan , ну хоть ты откликнись чем-нибудь.
...
Рейтинг: 0 / 0
Объединение файлов
    #32702219
raur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1-из какого приложения?
2-
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Option\xa0Explicit

Private\xa0Sub\xa0Workbook_Open()
your\xa0macros
End\xa0Sub


Как отформатирован этот код?
...
Рейтинг: 0 / 0
Объединение файлов
    #32703067
Просто чайник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raur1-из какого приложения?
1. Да хоть просто при открытии файла
raur2-Option Explicit
Private Sub Workbook_Open()
your macros
End Sub
Workbook_Open - что, будет запускаться автоматом при открытии файла? Че-то сомневаюсь. Я знал (давно), что можно где-то прописать макросы на выполнение при открытии файла, но забыл, и найти не могу :((

ЗЫ. Вот дописали мы файлик...

Do While MyName <> ""
f2 = FreeFile
Open MyPath & MyName For Input As f2
Print #f1, Input(LOF(f2), f2)
Close f2
MyName = Dir
Loop

А по поводу переноса файлов есть идеи? Напр., в дир-ю ..\prosseced.

ЗЗЫ. MAAAAR-VAAAAAAN, HLP, PLS!
...
Рейтинг: 0 / 0
Объединение файлов
    #32703711
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для автоматического запуска
Код: plaintext
1.
2.
Sub auto_open()
     'тело проце-дуры 
End Sub
и нафиг куда то копировать результирующий файл - сразу создавай его там, где надо
Код: plaintext
Open "D:\0\test1.out" For Output Shared As f1
в моём примере он создаётся в D:\0\
...
Рейтинг: 0 / 0
Объединение файлов
    #32704028
Просто чайник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marvan, спаситель!!!

Вот auto_open больше похоже на автозапуск при открытии. Наверняка есть и другие auto-процедуры. Где бы почитать о них ?

А по поводу и нафиг куда то копировать результирующий файл - сразу создавай его там, где надо, то я, наверно, плохо объяснил. Не копировать результирующий, а перенести свежедобавленный (в твоем примере это f2), т.е. добавили в результ. файл и убрали с глаз долой, чтоб в дальнейшем под ногами не путался. Просто хочется довести до полного автоматизма процедуру загрузки. А то приходится вручную перемещать обработанные файлы, и, кстати, удалять итоговый, т.к. при его существовании выдается ошибка.
...
Рейтинг: 0 / 0
Объединение файлов
    #32704221
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто ЧайникНаверняка есть и другие auto-процедуры. Где бы почитать о них ?
http://www.yandex.ru/yandsearch?text=auto_open+excel&stype=www&rpt=rad
там же почитай про:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Перечень ключевых слов, связанных с каталогами и файлами
- Изменение каталога или папки              ChDir
- Изменение диска                           ChDrive
- Копирование файла                         FileCopy
- Создание каталога или папки               MkDir
- Удаление каталога или папки               RmDir
- Переименование файла, каталога или папки  Name
- Определение текущего пути                 CurDir
- Определение даты и времени 
   последнего изменения файла               FileDateTime
- Определение атрибутов файла, 
   каталога или метки                       GetAttr
- Определение размера файла                 FileLen
- Определение имени файла или метки тома    Dir
- Установка атрибутов файла                 SetAttr
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Объединение файлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]