Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2010, 22:22   #1
andreton
Пользователь
 
Регистрация: 31.05.2010
Сообщений: 25
По умолчанию автоматический импорт txt файлов в exel

Приветствую всех знающих!
Помогите, пожалуйста в таком вопросе...
Есть много тхт файлов. У всех различное название, но в пределах text_text
Внутри каждого файла приблизительно такой текст:


Номера:
Керамическое покрытие
Сплит кондиционер
Телевизор, телефон
Мини-бар (пустой)
Ванна / душ, фен
Сейф (платно, на ресепшене)
Балкон или терасса
Уборка комнаты - каждый день
Смена постельного белья - каждые 3 дня
Смена полотенец - каждые 2 дня

На территории отеля:
2 ресторана
3 бара
Открытый бассейн
WI-FI (бесплатно)
Парикмахерская
Прокат автомобилей

Для детей:
Бесплатно:
Детский бассейн
Детские кресла в ресторане
Детские кроватки




Можно ли так сделать, чтобы текст, разделенный отступами, помещался в ячейки одна за одной, и каждый из файлов таким образом импортировался в одну строку? каждая строка - информация из одного файла тхт и т.д.
Если это возможно, подскажите, плиз, как это зделать. (в написании различных макросов не силен)
andreton вне форума Ответить с цитированием
Старый 31.05.2010, 22:49   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Можно и быстро.Надо текстовик -1,файл xls-1,в котором показано как должно быть
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 31.05.2010, 23:30   #3
andreton
Пользователь
 
Регистрация: 31.05.2010
Сообщений: 25
По умолчанию автоматический импорт txt файлов в exel

спасибо за реакцию, файлы в примере
Вложения
Тип файла: rar primer.rar (3.9 Кб, 86 просмотров)
andreton вне форума Ответить с цитированием
Старый 01.06.2010, 00:23   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Сделал скрипт vbs - импортирует все текстовые файлы из папки c:\Temp\andreton\primer\
Что-то приложить не получается, даю код - сохраните как *.vbs:
Код:
Option Explicit

Dim FSO, objTextFile, objExcel
Dim strArr,TheFolder, TheFiles, AFile
Dim tempstr
Dim x, y, i

Set FSO = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1

Set objExcel = CreateObject("Excel.Application"):  objExcel.Workbooks.Add '# открываем новую книгу Excel
'objExcel.Visible = True 'можно показать сразу, будет медленнее
x=1
y=1

Set TheFolder = FSO.GetFolder("c:\Temp\andreton\primer\") 'Каталог с файлами
Set TheFiles = TheFolder.Files
For Each AFile In TheFiles
    If UCase(FSO.GetExtensionName(AFile.Path)) = "TXT" Then
    Set objTextFile = FSO.OpenTextFile(AFile, ForReading)

	strArr = Split(objTextFile.ReadAll, vbCrLf) 'массив строк текста целиком
	objTextFile.Close 'закрываем текстовый файл

	tempstr=""

	for i = lbound(strArr) to ubound(strArr)
		if strArr(i)="" then  objExcel.Cells(x, y).Value=tempstr:  y=y+1:  tempstr="" 'выгружаем на лист
		if tempstr="" then 
			tempstr = strArr(i)
		else
			tempstr = tempstr & vbnewline &  strArr(i)
		end if
	next

End If
Erase strArr
x=x+1
y=1
Next

objExcel.Visible = True 'показываем результат
Можно ускорить, если собирать результат в массив и затем в конце работы весь массив вывалить на лист, но пока так.
Можно этот код использовать как макрос Экселя, только тогда можно переменным типы задать, и тогда не надо создавать новый экземпляр Экселя, а грузить в активный лист.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 01.06.2010 в 00:31.
Hugo121 вне форума Ответить с цитированием
Старый 01.06.2010, 00:40   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Текстовые файлы поместите в папку с этим файлом
Вложения
Тип файла: rar Import.rar (12.4 Кб, 113 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 01.06.2010, 01:29   #6
andreton
Пользователь
 
Регистрация: 31.05.2010
Сообщений: 25
По умолчанию

Огромнейшее спасибо! Все работает через макрос!
andreton вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт TXT файлов в Excel Per4eLO Microsoft Office Excel 7 08.02.2017 19:33
импорт из txt, работа с массивом данных, экспорт в txt Danara Microsoft Office Excel 4 31.03.2010 00:26
Импорт из txt в MS SQL masterdela БД в Delphi 6 27.03.2010 22:06
каскадный импорт файлов alexinspir PHP 4 19.03.2010 19:43
импорт TXT в XLS(расчет по формулам)-экспорт в XML Zhiltsov Microsoft Office Excel 27 06.07.2009 11:27