Страницы: 1
RSS
Открыть txt файл произвести изменения и закрыть с сохранением изменения
 
Здравствуйте, как открыть txt файл произвести изменения и закрыть с сохранением изменения  
Отрыть я его могу, изменения произвел, а как потом сохранить его в том же файле откуда я его взял не знаю  
 
 
Sub Pravka()  
 
   Dim iColl As Collection  
   Dim ПутьКПапке As String, МаскаПоиска As String, ГлубинаПоиска As Integer, i As Integer  
   Dim ПутьКФайлу As String  
   Dim objTxtF, sTxt  
 
     
   ПутьКПапке = ThisWorkbook.Path & "\Объедененные полигоны\"  
   МаскаПоиска = ".znl"  
   ГлубинаПоиска = 1  
     
   Set iColl = FilenamesCollection(ПутьКПапке, МаскаПоиска, ГлубинаПоиска)  
     
   For i = 1 To iColl.Count  
       ПутьКФайлу = iColl(i)  
       Set objTxtF = CreateObject("Scripting.FileSystemObject").OpenTextFile(ПутьКФайлу, 1)  
       sTxt = objTxtF.ReadAll  
       sTxt = Replace(sTxt, "chr(34)", "")  
       objTxtF  
       objTxtF.Close  
       Set objTxtF = Nothing  
   Next i  
 
End Sub
 
5 баллов за имена переменных
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
http://www.devguru.com/technologies/vbscript/quickref/filesystemobject.html
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=nerv}{date=22.05.2012 11:00}{thema=}{post}5 баллов за имена переменных{/post}{/quote}  
Мне особенно понравилась переменная iColl    
Николай, подскажите, что означает буква i в названии этой переменной?  
 
По теме:  
код содержит несколько ошибок.  
 
Правильно будет примерно так:  
(если вы хотите во всех файлах *.znl в заданной папке, удалить двойные кавычки)  
 
Sub Pravka()  
   Dim iColl As Collection  
   Dim ПутьКПапке As String, МаскаПоиска As String, ГлубинаПоиска As Integer, i As Integer  
   Dim ПутьКФайлу As String  
   Dim objTxtF, sTxt, FSO  
 
 
   ПутьКПапке = ThisWorkbook.Path & "\Объедененные полигоны\"  
   МаскаПоиска = ".znl"  
 
   Set iColl = FilenamesCollection(ПутьКПапке, МаскаПоиска, 1)  
   Set FSO = CreateObject("scripting.filesystemobject")  
 
   For i = 1 To iColl.Count  
       ПутьКФайлу = iColl(i)  
       sTxt = FSO.OpenTextFile(ПутьКФайлу, 1, True).ReadAll ' читаем текст  
       sTxt = Replace(sTxt, Chr(34), "") ' изменяем текст  
       FSO.CreateTextFile(ПутьКФайлу, True).Write sTxt ' записываем обратно  
   Next i  
End Sub  
 
 
Изучайте это:  
http://excelvba.ru/code/txt
Страницы: 1
Читают тему
Наверх