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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.08.2010, 13:00   #1
alexvav
Форумчанин
 
Регистрация: 23.11.2006
Сообщений: 152
По умолчанию поиск с копированием

Здравствуйте!
Имеется текстовый файл (*.txt). Может знает кто, как скопировать все строки НЕ содержащие определённый текст.
команда
Код:
findstr /v "текст"
только отображает, а надо копировать в другой файл.
Извините, если не в ту тему, но куда не пойму.

Последний раз редактировалось alexvav; 31.08.2010 в 13:35.
alexvav вне форума Ответить с цитированием
Старый 31.08.2010, 13:23   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Перебирать строки и проверять на InStr()

Вот например текст vbs скрипта, но можно и в Эксель встроить:
Код:
	' FSO Constants
	Const ForReading   = 1
	Const ForAppending	= 8
	Const TristateUseDefault= -2
	
	' Variables
	Dim objFSO, objTS, objfile, sFS, s

	' Instantiate the object
	Set objFSO = CreateObject("Scripting.FileSystemObject")

	' open the text file read only
	Set objTS = objFSO.OpenTextFile("C:\Temp\in.txt", ForReading, False, TristateUseDefault)
	
	Do While objTS.AtEndOfStream <> True
		s = CStr(objTS.ReadLine())
		if instr(s, "текст")>0 then	sFS = sFS & s & vbCrLf
	Loop
	
	' Close the file after we read it in.
	objTS.Close
	Set objTS = Nothing
	
	' We now open the file to write it out
	If objFSO.FileExists("c:\Temp\out@.txt") Then
		Set objTS = objFSO.OpenTextFile("C:\Temp\out@.txt", ForAppending) 'открываем итоговый файл для добавления записей
	Else
		Set objfile = objFSO.CreateTextFile("C:\Temp\out@.txt")
		Set objfile = Nothing
		Set objTS = objFSO.OpenTextFile("C:\Temp\out@.txt", ForAppending)
	End if
	objTS.Write sFS
	objTS.Close
	Set objTS = Nothing
	Set objFSO = Nothing
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 31.08.2010 в 13:28.
Hugo121 вне форума Ответить с цитированием
Старый 31.08.2010, 13:25   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

А какое отношение имеет тема к Microsoft Office Excel?
EducatedFool вне форума Ответить с цитированием
Старый 31.08.2010, 14:17   #4
alexvav
Форумчанин
 
Регистрация: 23.11.2006
Сообщений: 152
По умолчанию

оказывает, надо было в конце строки добавить
Код:
>"имя файла"
всем спасибо.
alexvav вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с копированием Sam Gold Общие вопросы C/C++ 2 28.04.2010 16:25
Проблема с копированием файла mish@ Общие вопросы Delphi 6 14.03.2010 17:57
помогите с копированием Romuald Microsoft Office Excel 5 11.01.2009 21:27
добавление строки копированием... ГОСЕАН БД в Delphi 3 13.08.2008 10:32
Проблема с копированием Ronni10 Операционные системы общие вопросы 1 29.04.2008 09:39