Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] замена текста в файле по шаблону

Ответить
Настройки темы
VBS/WSH/JS - [решено] замена текста в файле по шаблону

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


День добрый, форумчане.

помогите разобраться, есть задача, нет опыта))

Есть целевой файл-простой текстовик , есть исходный файл-таблица эксель с данными в двух колонках.

Нужно найти вхождения значения первой колонки в целевом файле и заменить его на значение второй колонки, записать результат в текстовый файл.

Вот что я наваял. При открытии пишет что файл бинарный и показывает в нем набор символов. Что не так?

Код: Выделить весь код
Const ForReading    = 1 
Const ForWriting    = 2 
  
Set oXL = CreateObject("Excel.Application") 
Set oXLSource = CreateObject("Excel.Application")
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("w:\VB\connections_4.txt", ForReading) 
Set objFile2 = objFSO.OpenTextFile("c:\connections_4.txt", ForWriting)
 
 oXLSource.Visible = False
 Set oWBSource = oXLSource.Workbooks.Open("w:\VB\2.xls", ForReading) 
 Set oSheetSource = oWBSource.Worksheets(1)
 
 Buffer = objFile.ReadAll
 
  
  For i = 1 To 50
        d_number=oSheetSource.Cells(i,1).value
        d_name=oSheetSource.Cells(i,2).value
        Buffer = Replace(Buffer, d_number, d_name, 1, -1, 1)
  Next  
 objFile2.Write Buffer
 objFile2.Close
 objFile.Close

 oWBSource.Close
 Set oSheetSource = Nothing
 Set oWBSource = Nothing
 oXLSource.Quit 
 Set oXLSource = Nothing

Отправлено: 12:21, 29-06-2011

 

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать



Извините, думал примера достаточно
1.rar

Отправлено: 15:40, 29-12-2013 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Вставьте следующий код:
читать дальше »
Код: Выделить весь код
Option Explicit

Sub ReplaceInFile()
    Dim strFileName As String
    Dim strFileFullName As String
    
    Dim strContent As String
    Dim objRange As Range
    
    
    strFileName = "2new_4(sootvetstvuet).txt"
    
    With CreateObject("Scripting.FileSystemObject")
        strFileFullName = .Buildpath(ThisWorkbook.Path, strFileName)
        
        If .FileExists(strFileFullName) Then
            With .OpenTextFile(strFileFullName)
                strContent = .ReadAll()
                .Close
            End With
            
            .CopyFile strFileFullName, strFileFullName & ".bak", True
            
            With .CreateTextFile(strFileFullName, True)
                For Each objRange In ThisWorkbook.ActiveSheet.UsedRange.Rows
                    strContent = Replace(strContent, objRange.Cells(1, 1).Value, objRange.Cells(1, 2).Value)
                Next
                
                .Write strContent
                .Close
            End With
        Else
            MsgBox "File [" & strFileFullName & "] not found."
        End If
    End With
End Sub

в рабочую книгу «Книга1.xlsx», сделайте в ней активным рабочий лист со списком для замены, затем исполните процедуру «ReplaceInFile()». Ожидается, что текстовый файл «2new_4(sootvetstvuet).txt» будет находиться рядом с этой рабочей книгой.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:18, 29-12-2013 | #12


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


большое спасибо....все получилось

Отправлено: 19:21, 29-12-2013 | #13



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] замена текста в файле по шаблону

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Поиск и замена текста в файле TERMINAL AutoIt 6 16-03-2011 17:49
CMD/BAT - Как проверить наличие текста в файле mamont1 Скриптовые языки администрирования Windows 6 16-09-2010 16:32
Разное - [решено] FoxPro 2.6 Замена фрагментов текста в txt-файле Pashka Программирование и базы данных 7 18-01-2010 19:20
CMD/BAT - Расположение текста в файле в 2 колонки Serg2010 Скриптовые языки администрирования Windows 6 28-08-2009 18:31
CMD/BAT - [решено] Изменение текста в файле tarasov.evgeny Скриптовые языки администрирования Windows 5 12-08-2009 16:21




 
Переход