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

Вход

Регистрация

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

 

= Мир MS Excel/Запись текстолого файла - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запись текстолого файла (Макросы/Sub)
Запись текстолого файла
A_3485 Дата: Понедельник, 12.05.2014, 16:22 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация: 0 ±
Замечаний: 40% ±

2007
Добрый день, уважаемые форумчяне!
Помогите пожалуйста разобрабраться с Print ,#F, Результат.
У меня есть файл test.txt. Я хочу информацию из этого файла записать в другой файл test_1. Причем данные в файле test_1 должны быть структурированы следующим образом:
1. Вторая колонка должна начинаться с 15 символа;
2. Третья с 35;
И если можно, то обрабатываемый файл должен выбираться из определенной папки.

[vba]
Код
Sub test()

Dim F1 As Integer
Dim F As Integer

x = "C:\Documents and Settings\test.txt"
file = Dir(x)

     Name = "C:\Documents and Settings\" & file
     Файл = file

     Путь = "C:\Documents and Settings\fedorov\Новая_папка\" & Файл
     F = FreeFile()
      
         Open Путь For Output As #F 'открываем файл для записи
       
         F1 = FreeFile()
         Open Name For Input As #F1 'считывание данных из файла Name

             Do Until EOF(F1)
             Line Input #F1, MyText   ' промотр содержимого файла
              
             Данные_1 = Mid(MyText, 1, 15)
             Данные_2 = Mid(MyText, 40, 14)
             Данные_3 = Mid(MyText, 75, 6)
          
             Результат = Данные_1 & "    " & Данные_2 & "    " & Данные_3
             Print #F, Результат
               
             Loop

             Close #F1
End Sub
[/vba]
К сообщению приложен файл: test.txt (0.2 Kb)
 
Ответить
СообщениеДобрый день, уважаемые форумчяне!
Помогите пожалуйста разобрабраться с Print ,#F, Результат.
У меня есть файл test.txt. Я хочу информацию из этого файла записать в другой файл test_1. Причем данные в файле test_1 должны быть структурированы следующим образом:
1. Вторая колонка должна начинаться с 15 символа;
2. Третья с 35;
И если можно, то обрабатываемый файл должен выбираться из определенной папки.

[vba]
Код
Sub test()

Dim F1 As Integer
Dim F As Integer

x = "C:\Documents and Settings\test.txt"
file = Dir(x)

     Name = "C:\Documents and Settings\" & file
     Файл = file

     Путь = "C:\Documents and Settings\fedorov\Новая_папка\" & Файл
     F = FreeFile()
      
         Open Путь For Output As #F 'открываем файл для записи
       
         F1 = FreeFile()
         Open Name For Input As #F1 'считывание данных из файла Name

             Do Until EOF(F1)
             Line Input #F1, MyText   ' промотр содержимого файла
              
             Данные_1 = Mid(MyText, 1, 15)
             Данные_2 = Mid(MyText, 40, 14)
             Данные_3 = Mid(MyText, 75, 6)
          
             Результат = Данные_1 & "    " & Данные_2 & "    " & Данные_3
             Print #F, Результат
               
             Loop

             Close #F1
End Sub
[/vba]

Автор - A_3485
Дата добавления - 12.05.2014 в 16:22
RAN Дата: Понедельник, 12.05.2014, 16:53 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениеhttp://www.excelworld.ru/forum/10-10578-1

Автор - RAN
Дата добавления - 12.05.2014 в 16:53
A_3485 Дата: Понедельник, 12.05.2014, 17:25 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация: 0 ±
Замечаний: 40% ±

2007
.....подставил данные пишет ошибку: Run - time Error '5'. Invalid procedure call or argument

[vba]
Код
a = Данные_1 & String$(15 - Len(Данные_1), " ") & _
                      Данные_2 & String$(21 - Len(Данные_2, " ") & _
                      Данные_3
[/vba]

Нашел следующие ошибки:
1. Если число меньше чем Len(Данные), тогда естественно выдает ошибку.
2. функция Mid вырезает данные по конкретному количеству символов, таким образом у меня и не получается то что я хочу получить.
Теперь мне нужно както определить в Данные_1...... символы <> пробел. Тогда может и заработает......


Сообщение отредактировал A_3485 - Понедельник, 12.05.2014, 18:19
 
Ответить
Сообщение.....подставил данные пишет ошибку: Run - time Error '5'. Invalid procedure call or argument

[vba]
Код
a = Данные_1 & String$(15 - Len(Данные_1), " ") & _
                      Данные_2 & String$(21 - Len(Данные_2, " ") & _
                      Данные_3
[/vba]

Нашел следующие ошибки:
1. Если число меньше чем Len(Данные), тогда естественно выдает ошибку.
2. функция Mid вырезает данные по конкретному количеству символов, таким образом у меня и не получается то что я хочу получить.
Теперь мне нужно както определить в Данные_1...... символы <> пробел. Тогда может и заработает......

Автор - A_3485
Дата добавления - 12.05.2014 в 17:25
RAN Дата: Понедельник, 12.05.2014, 18:46 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениеhttp://excelvba.ru/code/text_files

Автор - RAN
Дата добавления - 12.05.2014 в 18:46
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запись текстолого файла (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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