Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Работа макроса с текстовыми файлами(*.CSV;*.MDL) - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Работа макроса с текстовыми файлами(*.CSV;*.MDL)
MarkoYura Дата: Пятница, 02.05.2014, 17:59 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

2010
Всем привет,
Столкнулся с проблемой при написании достаточно простого макроса.Суть проблемы такова: Есть текстовый файл в формате (*.CSV или *.MDL), данный файл генерируется автоматически, данные частично ложные и их нужно заменить на другие.
Начал писать код который якобы меняет но не сохраняет текстовые файлы, не могу найти причину проблемы.
При замене данных нужно учитывать табуляцию.
Буду очень благодарен за помощь.

Марко Юра.
К сообщению приложен файл: Test.xls (32.0 Kb) · 61GM5450C.mdl (1.6 Kb)
 
Ответить
СообщениеВсем привет,
Столкнулся с проблемой при написании достаточно простого макроса.Суть проблемы такова: Есть текстовый файл в формате (*.CSV или *.MDL), данный файл генерируется автоматически, данные частично ложные и их нужно заменить на другие.
Начал писать код который якобы меняет но не сохраняет текстовые файлы, не могу найти причину проблемы.
При замене данных нужно учитывать табуляцию.
Буду очень благодарен за помощь.

Марко Юра.

Автор - MarkoYura
Дата добавления - 02.05.2014 в 17:59
Hugo Дата: Пятница, 02.05.2014, 20:54 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3859
Репутация: 819 ±
Замечаний: 0% ±

365
А записать?
Я обычно использую FSO:
[vba]
Код
Sub tt()

     Const ForReading = 1
     Const ForWriting = 2

     Set objFSO = CreateObject("Scripting.FileSystemObject")

     FileNames = Application.GetOpenFilename(MultiSelect:=True)
     If IsArray(FileNames) Then
         For I = 1 To UBound(FileNames)

             Set objFile = objFSO.OpenTextFile(FileNames(I), ForReading)

             strText = objFile.ReadAll: objFile.Close
             strText = Replace(strText, Cells(2, 1), Cells(2, 2))

             Set objFile = objFSO.OpenTextFile(FileNames(I), ForWriting)
             objFile.Write strText: objFile.Close
         Next
     End If
End Sub
[/vba]
Это так, черновик для доработки. Но рабочий.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеА записать?
Я обычно использую FSO:
[vba]
Код
Sub tt()

     Const ForReading = 1
     Const ForWriting = 2

     Set objFSO = CreateObject("Scripting.FileSystemObject")

     FileNames = Application.GetOpenFilename(MultiSelect:=True)
     If IsArray(FileNames) Then
         For I = 1 To UBound(FileNames)

             Set objFile = objFSO.OpenTextFile(FileNames(I), ForReading)

             strText = objFile.ReadAll: objFile.Close
             strText = Replace(strText, Cells(2, 1), Cells(2, 2))

             Set objFile = objFSO.OpenTextFile(FileNames(I), ForWriting)
             objFile.Write strText: objFile.Close
         Next
     End If
End Sub
[/vba]
Это так, черновик для доработки. Но рабочий.

Автор - Hugo
Дата добавления - 02.05.2014 в 20:54
MarkoYura Дата: Суббота, 03.05.2014, 14:17 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

2010
Спасибо все работает супер.
 
Ответить
СообщениеСпасибо все работает супер.

Автор - MarkoYura
Дата добавления - 03.05.2014 в 14:17
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!